簡體   English   中英

jQuery更改事件不會每次都觸發

[英]Jquery change event doesn't fire every time

我有一些jQuery代碼在輸入更改時觸發:

$("[data-binding] input").bind('change', function () {
    debug('changing');
    PerformWCFCall($(this));
}); 

debug功能只是對console.log的調用

問題在於它不會隨機觸發。 90%的時間一切正常,但隨后突然停止工作幾次,然后又開始工作。

PerformWCFCall不包含任何綁定代碼,而僅包含對WCF服務的異步調用。

為了.bind萬一,在調用.bind之前,我還要調用$("[data-binding] input").unbind('change') 但是我很難弄清楚這一點。

希望有人能幫忙

讓我知道您是否需要更多信息!

“ PerformWCFCall”對輸入有什么作用? 它會取代它嗎? -如果是這樣,請嘗試使用“實時”而不是bind ....或在調用“ PerformWCFCall”之后重新綁定。

您的jquery選擇器看起來可疑,您是否要綁定具有稱為數據綁定屬性的輸入元素? 如果是這樣,則應改用此選擇器:

$('input[data-binding]')

我看到有人已經建議直播活動,所以我想知道您何時進行綁定-是在document.ready之后嗎?

另外,如果您使用的是FireFox-如果尚未安裝FireBug(或使用IE的IE開發人員工具或chrome中的調試器),請安裝FireBug以查看處理程序是否在發生JavaScript錯誤后停止工作(10%的時間) -這可能是WCF調用出錯的一部分。 還要安裝fiddler(http://www.fiddler2.com/fiddler2/),以檢查從客戶端到WCF服務的流量。 發生問題的地方可能會導致您的JavaScript停止執行。

確保PerformWCFCall修改通過$("[data-binding] input")選擇的節點,如果這樣做的話會使用live()代替bind()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM