8

通常,我可以将事件传递给匿名 Jquery 函数,如下所示:

$(".click_me").on("click", function(e) {
  e.preventDefault();
});

现在假设我删除了匿名函数,但仍想将事件传递给它:

function onClickMe(e){
  e.preventDefault();
}

$(".click_me").on("click", onClickMe(e));

不幸的是,这并没有按预期工作。我收到此错误:

ReferenceError: e is not defined

那么我还能如何将事件传递给外部函数呢?

4

1 回答 1

19

只需传递函数引用,jQuery 将为您处理传递参数(它总是将事件作为第一个参数传递给处理函数)。所以:

function onClickMe(e){
  e.preventDefault();
}

$(".click_me").on("click", onClickMe);
于 2013-02-12T16:25:59.887 回答