jQuery .on()在事件委托中有多个选择器?

And*_*ndy 22 jquery delegates live

.on()在jQuery 1.7中使用过,并想知道是否可以为已经注入页面的元素一次附加多个选择器.以前,我正在使用live()- 但很明显,为什么我想要改进性能.

你能.on()以这样的方式使用:

$(document).on('click', '#selector1, #selector2, .class1', function () { 
     //stuff
});
Run Code Online (Sandbox Code Playgroud)

附加到文档中是否有任何好处?

Mat*_*att 23

  1. 你能用以下方式使用.on():

    $(document).on('click', '#selector1, #selector2, .class1', function () { 
        //stuff
    });
    
    Run Code Online (Sandbox Code Playgroud)

    是的,那会有效.

  2. 我想使用它而不是live()给出性能改进.

    没有使用的代码片段,而不是使用的性能优势live(),因为live()本身结合事件的文件,并在jQuery的1.7,住来电on幕后.

  3. 附加到文档中是否有任何好处?

    绑定的缺点document是事件必须在处理之前遍历整个祖先列表; 这一点,因为jQuery的文件中指出,是最慢的可能途径.通过将处理程序附加到更靠近事件源的元素,可以更快地处理事件.