Gun*_*ife 3 javascript performance jquery internet-explorer
我有一个包含大量列表元素的网页(接近3000).我正在为这些和一个悬停事件附加一个click事件处理程序(使用jquery).
$('li').click(function (e){
// do processing here
})
$('li').hover(function (e){
// do processing here for hover in
}, function (e) {
// do processing here hover out
})
Run Code Online (Sandbox Code Playgroud)
在IE8上,我开始注意到一些减速,我最初的猜测是事件处理程序的数量导致内存泄漏/消耗问题.这适用于Chrome,FF,IE9.
有没有人注意到这种行为?
我还在考虑使用jquery委托可以解决这个问题,因为事件处理程序将存在于父容器中,而不是每个列表元素都存在.像以下一样 -
$("#somecontainer").delegate('li', 'click', function () {
//do processing for click here.
})
Run Code Online (Sandbox Code Playgroud)
我们非常感谢您对此的任何见解.谢谢!
我还在考虑使用jquery委托可以解决这个问题,因为事件处理程序将存在于父容器中,而不是每个列表元素都存在.
绝对.或者以"新"的方式做到:
$("#somecontainer").on("click", "li", function () {
//do processing for click here.
});
Run Code Online (Sandbox Code Playgroud)