1

私は次の機能に苦労しています:

$('#pageName').on('pagebeforecreate', function() {
  // Compile the page using Handlebars
});

次に、jQueryのドキュメントに非推奨と記載されているにもかかわらず、に切り替えonてみました。これですべてが正常に機能します。何が得られますか?livelive

4

2 に答える 2

3

これは私に数回起こりました、そしてそれはjavascriptが実行された後に動的に生成される私の要素に関連していました。

これを試して:

$('body').on('pagebeforecreate', '#pageName', function() {
    // Compile the page using Handlebars
});

より優れた親要素を使用する必要bodyがありますが、変更されないものを選択してください。

于 2012-12-21T00:50:05.533 に答える
2

.on()委任を使用する構文(つまり、要素のDOM階層がその子孫で発生するイベントを処理する)は、使用した構文とは異なります。(http://api.jquery.com/on/#direct-and-を参照)委任されたイベント

$('container-of-#pageName').on('pagebeforecreate','#pageName', function() {
  // Compile the page using Handlebars
});

もちろんcontainer-of-#pageName、のコンテナであるセレクタに変更する必要があり#pageNameます。


それができない場合は、を使用できます。これはbody完全に模倣されます.live()ただし、推奨されていません) 。

$('body').on('pagebeforecreate','#pageName', function() {
  // Compile the page using Handlebars
});
于 2012-12-21T00:49:50.210 に答える