Jquery更改事件不发生';不要每次都开火

Jquery更改事件不发生';不要每次都开火,jquery,Jquery,我有一些jquery代码可以在输入更改时触发: $("[data-binding] input").bind('change', function () { debug('changing'); PerformWCFCall($(this)); }); debug-函数只需调用console.log 问题是它不会随机发射。90%的情况下,一切正常,但突然它停止工作了几次,然后又开始工作 performwcall不包含任何绑定代码,只包含对WCF服务的异步调用 我还调用了$(“

我有一些jquery代码可以在输入更改时触发:

$("[data-binding] input").bind('change', function () {
    debug('changing');
    PerformWCFCall($(this));
}); 
debug
-函数只需调用
console.log

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

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

我还调用了
$(“[data binding]input”)。在调用
.bind
之前取消绑定('change')
,以防万一。但我很难弄明白这一点

希望有人能帮忙


如果您需要更多信息,请告诉我

performwcall对输入有什么作用?它会取代它吗如果是,请尝试使用“live”而不是bind…。或者在调用“PerformWFCall”后重新绑定。

您的jquery选择器看起来可疑,您是否正在尝试绑定具有称为数据绑定的属性的输入元素?如果是,则应使用此选择器:

$('input[data-binding]')
我看到有人已经建议了现场活动,所以我想知道您何时进行绑定-是在document.ready之后吗


另外,如果您正在使用FireFox-如果您还没有(或使用IE开发者工具或chrome中的调试器)查看处理程序是否在javascript错误后停止工作(10%的时间),请安装FireBug-这可能是WCF调用出错的一部分。同时安装小提琴手(http://www.fiddler2.com/fiddler2/)检查从客户端到WCF服务的流量。此处出现错误可能会停止javascript的执行。

请确保
performwcall
不要修改使用
$(“[data binding]input”)
选择的节点,如果使用
live()
代替
bind()

performwcall可能确实会替换输入。。。我试过用live,但没用。。。我将在PerformWFCall之后尝试重新绑定。$(“[data binding]input”)是因为我希望它应用于作为属性数据绑定集为()的某个元素的子元素的所有输入元素(好的;)您真的应该查看javascript错误。90%的情况下,在我这方面,某些东西不能周期性地工作,这是因为javascript在某个地方出现了错误……它是否发生在某个浏览器中?你能展示更多的标记/代码吗?