Javascript jQuery事件。。。里面应该有多少代码?

Javascript jQuery事件。。。里面应该有多少代码?,javascript,jquery,performance,jquery-events,Javascript,Jquery,Performance,Jquery Events,如果我要将更改事件附加到许多项上,比如一个大表单上的每个复选框,然后在此基础上处理规则,我是否应该执行一个单独的函数,而不是将该代码放在事件中的匿名函数中 $(".magic_checkbox").change(function(event){ //somewhat lengthy code here }); 这是为每个复选框创建一个单独的JavaScript函数对象,还是它们都将使用一个指针?如果它们都是重复的,那么即使在Grand方案中也有关系吗?只有一个匿名函数,但您可能需要考虑委托

如果我要将更改事件附加到许多项上,比如一个大表单上的每个复选框,然后在此基础上处理规则,我是否应该执行一个单独的函数,而不是将该代码放在事件中的匿名函数中

$(".magic_checkbox").change(function(event){
  //somewhat lengthy code here
});

这是为每个复选框创建一个单独的JavaScript函数对象,还是它们都将使用一个指针?如果它们都是重复的,那么即使在Grand方案中也有关系吗?

只有一个匿名函数,但您可能需要考虑委托事件方法。在

.magic\u复选框
元素的父对象上创建单个事件处理程序。然后执行以下操作:

$("#parentObjectId").on("change", ".magic_checkbox", function(event){
    // your somewhat lengthy code here
});
或者

$("#parentObjectId").on("change", ".magic_checkbox", function(event){
    somewhatLengthyMethod();
});

function somewhatLengthyMethod() {
    // your somewhat lengthy code here
}

在两者之间做出选择只是偏好的问题。关键是事件委派,它导致事件处理程序少得多,因此效率更高。

而不是
$(“#parentObjectId”)。关于(“更改”,“magic_checkbox”,函数(事件){somewhatLengthyMethod();})
$(“#parentObjectId”)。在(“更改”,“魔法”复选框),一些什么样的方法)可能更可取。@icktoofay,true。我喜欢!