我在一个html文件中有一个带有多个data-roles =“page”的jquery应用程序。
最初绑定所有按钮会更好吗?或者在pagecreate事件上绑定某个“页面”上的按钮?
做一个超过另一个的好处?
例如:
<script>
$(document).delegate("#page1",'pagecreate', loadedFirstPage);
$(document).delegate("#page2",'pagecreate', loadedSecondPage);
function loadedFirstPage(){
$('#link1').bind('tap',function(){
console.log('Hello World');
});
//HERE?
$('#link2').bind('tap',function(){
console.log('Hello World Again');
});
}
function loadedSecondPage(){
//OR HERE?
$('#link2').bind('tap',function(){
console.log('Hello World Again');
});
}
</script>
<div id="page1" data-role="page">
<a href="#page2" id="link1">Click here</a>
</div>
<div id="page2" data-role="page">
<a href="#page1" id="link2">Click here Again</a>
</div>
答案 0 :(得分:1)
要考虑的是使用.bind()
遍历所选元素的整个列表并在每个元素上运行绑定函数。因此,如果您有大量元素(数百或更多),那么您可能只想绑定到当前页面上的元素。但是,如果您正在处理一些元素,比如少于100,那么您不需要执行委派事件绑定的额外步骤。
如果一次绑定到所有元素,那么您可以在document.ready
事件处理程序中运行代码,或者只是将JS代码放在HTML文档的末尾,以便页面上的所有元素都可用。 JS运行。