0

私は主にAjaxで実行されているアプリを持っています。コンテンツを更新するたびに、binder置き換えられた可能性のある要素の機能を開始/再開始するための特定のページを実行します。

現在、私はこのようにしています:

 // pagebinder
 var bindResults = function( page ){
    // element
    var swipesOnPage = page.find('.photoswipeable');

    if ( swipesOnPage.length > 0 && swipesOnPage.jqmData('bound') != true) {
        swipesOnPage
            .jqmData('bound', true )
            .on('click', '.singleLoader', function(e){
                // do somethinbg
            })
            .on('click', '.selector', function(e){
                // do something else
            });
       }
    }

そのため、要素がページ上にあるかどうか(削除/追加されている可能性があります)を確認しています。要素が見つかったが見つからない場合はjqmData(bound)、バインディングを設定しています。

これは問題なく動作します。しかし、これがこれを行うための最良の方法であるかどうか疑問に思っているので、

質問:
Ajaxを利用したアプリケーションを使用する場合、複数の要素の要素バインディングを最適に管理するにはどうすればよいですか?

4

2 に答える 2

1

jQueryを使用することもできますが.delegate()、大規模なアプリでは面倒になりすぎる可能性があります。

于 2012-08-29T08:45:05.107 に答える
1

のselector-parameterをすでに使用しているonので、全体をそのレベルまで上げてみませんかbody。このようにして、何も再バインドする必要はありません。

これにより、おそらくより多くのドムトラバーサルが発生しますが、構造があまり深くネストされていなければ、それほど問題にはならないはずです。

于 2012-08-29T09:13:25.103 に答える