我有一些jquery代码可以触发输入更改:
$("[data-binding] input").bind('change', function () {
debug('changing');
PerformWCFCall($(this));
});
debug
- 函数只是对console.log
问题在于它随机不会发射。 90%的时间一切正常,但突然间它停止工作几次,然后重新开始工作。
PerformWCFCall
不包含任何绑定代码,只包含对WCF服务的异步调用。
在调用$("[data-binding] input").unbind('change')
之前我也打电话给.bind
以防万一。但是我很难搞清楚这个。
希望有人可以提供帮助
如果您需要更多信息,请与我们联系!
答案 0 :(得分:0)
'PerformWCFCall'对输入做了什么?它会取代它吗? - 如果是这样,请尝试使用'live'而不是bind ....或在调用'PerformWCFCall'后重新绑定。
答案 1 :(得分:0)
您的jquery选择器看起来很可疑,您是否尝试绑定具有数据绑定属性的输入元素?如果是这样,您应该使用此选择器:
$('input[data-binding]')
我看到有人已经建议了直播活动,所以我想知道你什么时候进行绑定 - 它是在document.ready之后吗?
此外,如果您正在使用FireFox - 如果您尚未安装FireBug(或使用IE的IE开发人员工具或Chrome中的调试器),请查看处理程序是否停止工作(10%的时间)一个javascript错误 - 它可能是WCF调用出错的一部分。还要安装fiddler(http://www.fiddler2.com/fiddler2/)来检查从客户端到WCF服务的流量。这里出了问题可能会停止你的javascript的执行。
答案 2 :(得分:0)
确保PerformWCFCall
不要修改使用$("[data-binding] input")
选择的节点,如果不是,请使用live()
代替bind()