2011-06-15 54 views
0

我有一個jQuery的函數,將窗體上的選擇字段綁定到多個操作。它綁定到change和keyup,這樣鼠標和鍵盤的點擊都被捕獲。jquery .bind阻止在頁面加載運行

$(document).ready(function(){ 
    $('#user_id').bind('change keyup',function() { 
    calculateAmounts(); 
    }).change(); 
}); 

這很好用。

但是,除了在更改和鍵入函數上運行外,calculateAmounts()函數在首次加載頁面時也會調用。當第一次加載頁面時,我想阻止此代碼運行。

回答

2

你觸發更改事件,當你在$調用.change()( '#USER_ID')元素,將調用您的更改/鍵盤事件處理程序。如果刪除.change()調用,那麼在頁面加載時不會觸發該事件:

$(document).ready(function(){ 
    $('#user_id').bind('change keyup',function() { 
    calculateAmounts(); 
    }); 
}); 
+0

謝謝,工作正常! – JonoB 2011-06-15 16:38:26

0

試試這個(取中consederation即#user_id輸入字段)

$(document).ready(function(){ 
    var yourVAL = $("#user_id").val(); 
    $('#user_id').bind('change keyup',function() { 
    if($("#user_id").val() != yourVAL){ 
     calculateAmounts(); 
    } 
    }).change(); 
});