jquery .bind阻止在页面加载时运行

时间:2011-06-15 15:44:15

标签: javascript jquery bind

我有一个jquery函数,它将表单上的select字段绑定到多个操作。它绑定到更改和键盘,以便捕获鼠标和键盘点击。

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

这完美无缺。

但是,除了运行change和keyup函数之外,还在第一次加载页面时调用calculateAmounts()函数。我想在首次加载页面时阻止此代码运行。

2 个答案:

答案 0 :(得分:2)

当您在$('#user_id')元素上调用.change()时,您将触发更改事件,该元素将调用您的change / keyup事件处理程序。如果删除.change()调用,则在页面加载时不会触发该事件:

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

答案 1 :(得分:0)

试试这个(考虑到#user_id是输入字段)

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