CRI*_*ion 0 html javascript forms jquery
$( "input[role=submit_action], button[role=submit_action], div[role=submit_action], span[role=submit_action], a[role=submit_action]").live( "click", function() {
});
Run Code Online (Sandbox Code Playgroud)
这也是:
$( "input[role=submit_action], input[role=submit_require]").live( "click", function() {
if ($(this).attr('role') == "submit_action") {
// do this...
}
else {
// do this...
}
});
Run Code Online (Sandbox Code Playgroud)
例如,缩写可以是:
$("input[role=(submit_action|submit_require)]"
Run Code Online (Sandbox Code Playgroud)
我在.delegate()
这里使用效率(不遍历最初执行选择器的每个DOM元素),如下所示:
$(document.body).delegate("[role=submit_action]", "click", function() {
//do stuff
});
Run Code Online (Sandbox Code Playgroud)
这里的不同之处在于.live()
,它在启动时便宜得多,因为$("role=submit_action]")
(甚至在.live()
调用之前)必须遍历DOM检查role
属性中的所有元素,您可以绕过这个开销.delegate()
.
由于性能是一个问题,不要相信我的话,在这里自己测试:http:
//jsperf.com/live-vs-delegate-test