現在 BackboneJS サイトを持っていますが、問題が発生しました。jQuery.click() イベント ハンドラーを使用するバックボーン ビューが 1 つあります。現在、$(document).ready() 関数内でハンドラーをグローバルにセットアップしています。ただし、最初にハンドラーを使用するページをロードすると、すべてが正常に機能することに気付きましたが、ページを変更すると (バックボーンが表示するビューを変更します)、元のページに戻ります (ハンドラーを使用する DOM を更新します) ) その後、イベントはトリガーされなくなります。これをどのように処理すればよいですか?これは多くの人が遭遇する問題に違いないので、Backbone にはこれを処理する方法があると思います。
それ以外の場合、私の計画は、ビューがレンダリングされた後に関数を呼び出してハンドラーをリセットすることでした。これが最善の方法でしょうか、それともバックボーンにはこれを処理する方法がありますか?
$(document).ready(function(){
$('.section-pulldown').on('click', function(){
var el = $(this).next();
var par = $(this).parent();
var arrow = $(this).children('img');
if (el.css('display') == 'none') {
el.css('padding-bottom', '50px');
arrow.attr('src', 'images/downarrow.png');
par.css('box-shadow', '0px 0px 15px 3px #A8A8A8 inset');
$(this).next().slideToggle(700);
}
else {
$(this).next().slideToggle(700, function(){
el.css('padding-bottom', '0px');
par.css('box-shadow', '2px 2px 15px 2px #CCCCCC inset');
arrow.attr('src', 'images/uparrow.png');
});
}
});
})