如何将事件处理程序绑定到“更改”JavaScript事件,或在元素上触发该事件?

时间:2011-01-20 22:32:53

标签: jquery

我不明白如何通过调用函数来获取更改事件。

$(function () {

  function foo() {
    alert("ok");
  }

  //works
  $('#myElement').change(function() {
    alert("ok");
  });

  //does not work
  $('#myElement').change(foo);

  //does not work
  $('#myElement').change(foo());
}

5 个答案:

答案 0 :(得分:2)

以下所有示例 都应该 ,否则就会出错。

$(function() {
   function foo(e) {
     alert("ok");
   }
   $('#myElement').change(function(e) {
     alert("ok");
   });
   $('#myElement').change(foo);

   //trigger the event like so:
   $('#myElement').change();
});

答案 1 :(得分:0)

$('#myElement').change(function() {
    foo();
  });

答案 2 :(得分:0)

这应该有效:

$('#myElement').change(foo);

在您的代码示例中,您缺少一个结束括号。

答案 3 :(得分:0)

版本1和2适用于FF3.6和IE7。由于括号的存在,版本3立即执行。您能否向浏览器提供哪个版本2无效。

答案 4 :(得分:0)

将函数绑定到change事件:
$('#id').bind('change',function(){/*code here*/});
并触发事件:
$('#id').trigger('change');