我有一个带滑块功能的网站,其中有下一个按钮。如果没有其他幻灯片,我想解除之前点击功能的解除绑定,并使用点击按钮执行其他操作。
这是js
jQuery(document).bind('DOMSubtreeModified', function() {
var button = jQuery("._disabled").length;
if (button) {
jQuery( "._next" ).off("click");
jQuery( "._disabled" ).on("click", handler);
}
var handler = function (e) {
e.preventDefault();
jQuery('.suggested').show();
jQuery('.theiaPostSlider_slides').html('');
jQuery('.theiaPostSlider_slides').append(jQuery('.suggested'));
jQuery('._buttons').hide();
}
});
按钮的HTML在这里:
<a rel="next" href="#" class="_button _next _disabled">
<span class="_1">Next</span>
<span class="_2"><span aria-hidden="true" class="tps-icon-chevron-circle-right"></span></span>
<span class="_3"></span>
</a>
这是网站:link 当你单击一下Next按钮它正常工作,然后当它在最后一张幻灯片上时,它应解除绑定然后绑定新函数,但它只解除绑定。
我在这里做错了什么?
答案 0 :(得分:0)
您使用.on
和.off
的方式可以用于.bind
和.unbind
如果您的jQuery版本小于3,您可以将其更改为:
jQuery( "._next" ).unbind("click");
jQuery( "._disabled" ).bind("click", handler);
否则,您可以使用正确的格式保留.on
和.off
。像这样:
jQuery( 'body' ).off("click", "._next");
jQuery( 'body' ).on("click", "._disabled", handler);
更多信息: