jQuery .bind阻止在页面加载时运行 [英] jquery .bind prevent running on page load

查看:254
本文介绍了jQuery .bind阻止在页面加载时运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个jquery函数,可将表单上的选择字段绑定到多个操作.它既可以绑定更改,也可以绑定键,因此可以捕获鼠标和键盘的点击.

I have a jquery function that binds a select field on a form to multiple actions. It binds to both change and keyup, so that mouse and keyboard clicks are both captured.

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

这很好用.

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

However, in addition to running on the change and keyup functions, the calculateAmounts() function is also called when first loading the page. I'd like to prevent this code from running when the page is first loaded.

推荐答案

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

You're triggering a change event when you call .change() on the $('#user_id') element, which will call your change/keyup event handler. If you remove the .change() call, then that event won't be triggered when the page loads:

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

这篇关于jQuery .bind阻止在页面加载时运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆