Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquerymobile中的最佳绑定时间_Javascript_Jquery_Jquery Mobile - Fatal编程技术网

Javascript jquerymobile中的最佳绑定时间

Javascript jquerymobile中的最佳绑定时间,javascript,jquery,jquery-mobile,Javascript,Jquery,Jquery Mobile,我有一个jquery应用程序,在一个html文件中有多个data roles=“page” 先把我所有的钮扣都系上好吗?或者在pagecreate事件中绑定某个“页面”上的按钮 做一件比另一件有什么好处 例: $(document).delegate(“#page1”,“pagecreate”,loadedFirstPage); $(document).delegate(“#page2”,“pagecreate”,loadedSecondPage); 函数loadedFirstPage(){

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

先把我所有的钮扣都系上好吗?或者在pagecreate事件中绑定某个“页面”上的按钮

做一件比另一件有什么好处

例:


$(document).delegate(“#page1”,“pagecreate”,loadedFirstPage);
$(document).delegate(“#page2”,“pagecreate”,loadedSecondPage);
函数loadedFirstPage(){
$('#link1').bind('tap',function(){
log('helloworld');
});
//这里?
$('#link2').bind('tap',function()){
log('helloworld');
});
}
函数loadedSecondPage(){
//还是在这里?
$('#link2').bind('tap',function()){
log('helloworld');
});
}

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


如果您一次绑定到所有元素,那么您可以在
文档中运行代码。ready
事件处理程序,或者简单地将JS代码放在HTML文档的末尾,这样当JS运行时页面上的所有元素都可用。

好吧!我有大约50个,所有的事情都已经在文档中完成了。准备好了吗?我只是想看看是否有优化/改进我的代码:)谢谢你的解释
<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>