我有循环并动态地将链接 append 到 #content
。我写了 2 种方式。
(1)
$.each(array, function(key, value) {
$('#content').append('<a href="#">text</a>');
$('#content a:last').click(function(e) {
$.ajax({ url: ...
...
});
});
});
(2)
$.each(array, function(key, value) {
$('#content').append('<a href="#">text</a>');
});
$('#content a').click(function(e) {
$.ajax({ url: ...
...
});
});
问: 使用(1)方式而不是(2)是否更糟?你怎么知道?如何设置计时器来测试每个方法运行了多少秒(绑定(bind)“点击”事件)?
最佳答案
我更喜欢并建议您更喜欢第二个...它更清晰、可读并且不会一次又一次地创建点击处理程序,这根本不需要(因此委托(delegate) on
在更高版本的 jquery 中引入,以高效地做完全相同的事情)......虽然我怀疑你的(2)脚本正在工作:..因为你必须将点击事件委托(delegate)给最近的静态父级以动态创建在您的情况下是 a
..
$.each(array, function(key, value) {
$('#content').append('<a href="#">text</a>');
});
$('#content').on('click','a',function(e) {
$.ajax({ url: ...
...
});
});
关于javascript - 将一个函数绑定(bind)到每个对象是否比一次将一个函数绑定(bind)到所有对象更糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17661468/