$(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時執行兩次。如果用戶再次導航並返回,則該功能執行3次,等等!jQuery點擊事件在ajax調用後再次執行函數
我在做什麼錯?
編輯#1
當用戶導航到另一頁,元素#slider_icons_wrapper從DOM移除。當它通過ajax調用返回時,點擊事件每次都會在更多時間觸發。我試圖在用戶離開這個頁面時解除這個點擊事件,但是同樣的事情發生了
看起來好像存在選擇器衝突。我會將HTML中的ID更改爲'#slider_icons_wrapper_play'和'#slider_icons_wrapper_pause'。 – Chris
我想選擇id =「slider_icons_wrapper」和class =「play」或「pause」的div, – kapantzak