甚至更好地使用jQuery处理程序?

mar*_*zzz 4 html css jquery event-handling

我的意思是,如果我有这个处理程序:

$(document).ready(function() {
    $('.myElement').change(function() {
        // some
    });             
});
Run Code Online (Sandbox Code Playgroud)

例如,链接到"400"元素,它会慢于

function myFunct() {
    // some
{

<select class="myElement'" onchange="myFunct(this);return false">
    // one of 400 elements. Each of this use that onchange link
</select>
Run Code Online (Sandbox Code Playgroud)

因为事实上我只需要在"改变"某些事情时调用该函数(所以我不明白为什么我需要处理400个元素,最糟糕的资源).

你有什么想法?

kar*_*m79 7

是的,它会慢一些,因为浏览器必须附加一个处理程序所有这些元素,这可能导致页面加载"滞后",在此期间您的用户可能能够与没有附加处理程序代码的元素进行交互.

但是,您仍然可以使用jQuery,只使用一个委托处理程序.

$('#container').delegate(".myElement", "change", function () {
    myFuct(this);
    return false;
}); 
Run Code Online (Sandbox Code Playgroud)

更新!jQuery 1.7示例(使用.on):

$('#container').on("change", ".myElement", function () {
    myFuct(this);
    return false;
}); 
Run Code Online (Sandbox Code Playgroud)