$(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 次,以此类推!
我究竟做错了什么?
编辑#1
当用户导航到另一个页面时,元素 #slider_icons_wrapper 将从 DOM 中删除。当它通过 ajax 调用注入回来时,click 事件每次都会触发更多时间。当用户离开此页面时,我试图取消绑定点击事件,但同样的事情发生了