是否可以停止自动preventDefault()应用于简单的Jquery切换功能?
$(".mydiv").toggle(
function () {
$(this).addClass("blue");
},
function () {
$(this).removeClass("blue");
}
);
以上内容可防止div内的元素正常响应点击。
它不一定是toggle()函数 - 任何允许打开和关闭类并且不返回false的东西都会很棒。
感谢。
答案 0 :(得分:1)
文档承认这是一个限制:
由于.toggle()在内部使用单击处理程序来完成其工作,我们必须解除绑定以删除附加.toggle()的行为,以便其他点击处理程序可以在交火中捕获。该实现还在事件上调用.preventDefault(),因此如果在元素上调用了.toggle(),则不会遵循链接并且不会单击按钮。
来源:http://api.jquery.com/toggle/
也就是说,没有内置方式。令人高兴的是,正如文档中所说,“手动实现相同的行为”相对简单“。在这种情况下:
$(".mydiv").click(function(){
$(this).toggleClass("blue");
}}
(了解有关toggleClass()的更多信息。)