【问题标题】:Jquery toggle function that doesn't return false?不返回false的Jquery切换功能?
【发布时间】:2010-03-13 06:43:27
【问题描述】:

是否可以阻止自动 preventDefault() 应用于简单的 Jquery 切换功能?

$(".mydiv").toggle(
    function () {
        $(this).addClass("blue");
    },
    function () {
        $(this).removeClass("blue");
    }
);

以上情况会阻止div内的元素正常响应点击。

它不一定是 toggle() 函数 - 任何允许打开和关闭类并且不返回 false 的东西都会很棒。

谢谢。

【问题讨论】:

    标签: jquery function click toggle


    【解决方案1】:

    文档承认这是一个限制:

    由于 .toggle() 内部使用单击处理程序来完成其工作,我们必须解除单击绑定以删除附加到 .toggle() 的行为,因此其他单击处理程序可以在交火中被捕获。该实现还在事件上调用 .preventDefault(),因此如果在元素上调用了 .toggle(),则不会跟踪链接,也不会单击按钮。

    来源:http://api.jquery.com/toggle/

    也就是说,没有内置方法。令人高兴的是,正如文档中所说,“手动实现相同的行为相对简单”。在这种情况下:

    $(".mydiv").click(function(){
      $(this).toggleClass("blue");
    }}
    

    (阅读更多关于toggleClass()的信息。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      相关资源
      最近更新 更多