通常,我可以将事件传递给匿名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
那么我怎样才能将事件传递给外部函数?
答案 0 :(得分:15)
只需传递函数引用,jQuery将处理为您传递参数(总是将事件作为处理函数的第一个参数传递)。所以:
function onClickMe(e){
e.preventDefault();
}
$(".click_me").on("click", onClickMe);