首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery更改事件并不是每次都会触发

Jquery更改事件并不是每次都会触发
EN

Stack Overflow用户
提问于 2011-03-03 21:15:12
回答 3查看 611关注 0票数 0

我有一些jquery代码要在input-change上触发:

代码语言:javascript
复制
$("[data-binding] input").bind('change', function () {
    debug('changing');
    PerformWCFCall($(this));
}); 

debug-function只是对console.log的一个调用

问题是它并不是随机触发的。90%的情况下,一切都很正常,但突然它停止工作了几次,然后又开始工作。

PerformWCFCall不包含任何绑定代码,只包含一个对WCF服务的异步调用。

为了以防万一,我还会在调用.bind之前调用$("[data-binding] input").unbind('change')。但我很难弄明白这一点。

希望有人能帮忙

如果你需要更多的信息,请告诉我!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-03 21:22:55

确保PerformWCFCall不修改使用$("[data-binding] input")选择的节点,如果这样做的话,请使用live()代替bind()

票数 0
EN

Stack Overflow用户

发布于 2011-03-03 21:18:09

'PerformWCFCall‘对输入做了什么?它会替换它吗?-如果是,请尝试在调用“PerformWCFCall”之后使用“live”而不是bind....or重新绑定。

票数 0
EN

Stack Overflow用户

发布于 2011-03-03 21:21:03

您的jquery选择器看起来很可疑,您是否正在尝试绑定具有数据绑定属性的输入元素?如果是这样的话,你应该改用这个选择器:

代码语言:javascript
复制
$('input[data-binding]')

我看到有人已经建议了现场活动,所以我想知道你什么时候做绑定-它是在document.ready之后吗?

此外,如果你正在使用FireFox -如果你还没有安装FireBug (或者使用IE的IE开发者工具,或者chrome中的调试器)来查看处理程序是否在javascript错误后停止工作( 10%的情况下)-它可能是WCF调用出错的一部分。还要安装fiddler (http://www.fiddler2.com/fiddler2/)来检查从客户端到您的WCF服务的流量。这里出了点问题,可能会导致javascript的执行停止。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5181174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档