jquery 移动版的最佳绑定时间

Best binding time in jquery mobile

本文关键字:绑定 定时间 最佳 移动 jquery      更新时间:2023-09-26

我有一个jquery应用程序,在一个html文件中有多个data-roles="page"。

一开始绑定我所有的按钮更好吗?还是绑定页面创建事件上某个"页面"上的按钮?

做一个比另一个有什么好处吗?

前任:

<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>

要考虑的是,使用 .bind() 会遍历所选元素的整个列表,并对每个元素运行绑定函数。因此,如果您有大量元素(数百个或更多(,那么您可能只想绑定到当前页面上的元素。但是,如果要处理几个元素(例如少于 100 个(,则无需执行委派事件绑定的额外步骤。

如果一次绑定到所有元素,则可以在 document.ready 事件处理程序中运行代码,或者只是将 JS 代码放在 HTML 文档的末尾,以便在 JS 运行时页面上的所有元素都可用。