$(document).on('click', '#slider_icons_wrapper.play', function(event) {
var slider_icons_wrapper = $('#slider_icons_wrapper');
slider_icons_wrapper.attr('class', 'pause');
autoSlider(cur_img_div_pos);
showButton('play_icon');
console.log('play');
});
$(document).on('click', '#slider_icons_wrapper.pause', function(event) {
var slider_icons_wrapper = $('#slider_icons_wrapper');
slider_icons_wrapper.attr('class', 'play');
clearInterval(inter);
showButton('pause_icon');
console.log('pause');
});
このコードは、ドキュメントが初めて読み込まれるときに正常に機能します。ユーザーがajax呼び出しを介して別のページに移動し(ドキュメントは更新されません)、#slider_icons_wrapper divを含むページに戻ると、ユーザーがこのdivをクリックすると関数が2回実行されます。ユーザーが再度ナビゲートして戻ると、関数は3回実行されます。
私は何が間違っているのですか?
編集#1
ユーザーが別のページに移動すると、要素#slider_icons_wrapperがDOMから削除されます。ajax呼び出しを介して注入されると、クリックイベントは毎回より多くの時間で発生します。ユーザーがこのページを離れたときにクリックイベントのバインドを解除しようとしましたが、同じことが起こります