2

1 つの 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>
4

1 に答える 1

1

考慮すべきことは、使用すると.bind()、選択された要素のリスト全体が繰り返され、各要素に対してバインディング関数が実行されることです。したがって、要素が大量(数百以上)ある場合は、おそらく現在のページの要素にのみバインドする必要があります。ただし、100未満など、いくつかの要素を処理している場合は、イベントバインディングを委任するという追加の手順を実行する必要はありません。

すべての要素に一度にバインドする場合は、document.readyイベントハンドラー内でコードを実行するか、HTMLドキュメントの最後にJSコードを配置するだけで、JSの実行時にページ上のすべての要素を使用できるようになります。

于 2012-05-18T21:29:42.657 に答える