jquery mobile中的最佳绑定时间

时间:2012-05-18 19:50:21

标签: javascript jquery jquery-mobile

我在一个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>

1 个答案:

答案 0 :(得分:1)

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

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