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

jquery .bind prevent running on page load

本文关键字:加载 运行 bind jquery      更新时间:2023-09-26

我有一个jquery函数,它将表单上的选择字段绑定到多个操作。它绑定到change和keyup,这样鼠标和键盘的点击都会被捕获。

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

这非常有效。

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

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

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

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

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