【问题标题】:jQuery .toggle event deprecated, What to use?jQuery .toggle 事件已弃用,该使用什么?
【发布时间】:2014-11-10 16:03:59
【问题描述】:

由于 jQuery .toggle 事件方法已被弃用。 我们应该用什么来模拟这个事件(交替点击)?

【问题讨论】:

  • 你能提供代码吗?
  • @jahroy 我不想要动画方法...
  • 我确实阅读了文档,并且 toggle() 动画方法切换了元素的可见性,但这不是我想要的。
  • 也许this 会有所帮助。 (对不起,我一开始看错了你的问题)

标签: jquery jquery-1.8


【解决方案1】:

在 document.ready 之外添加这个

$.fn.clicktoggle = function(a, b) {
    return this.each(function() {
        var clicked = false;
        $(this).click(function() {
            if (clicked) {
                clicked = false;
                return b.apply(this, arguments);
            }
            clicked = true;
            return a.apply(this, arguments);
        });
    });
};

然后使用以下内容复制 .toggle 功能:

$("#mydiv").clicktoggle(functionA,functionB);

发现于JQuery Forums

【讨论】:

  • 抱歉,这到底是什么?是你写的函数吗?为什么要使用 $.fn.clicktoggle 以及如何调用此函数?谢谢你的回答!
  • 以上代码通过添加新方法扩展了 jQuery 对象。您可以将该代码添加到您的“on ready”处理程序中。然后您可以调用clicktoggle(),就好像它是一个jQuery 方法一样。您可以阅读有关添加 jQuery 方法here.
  • 没问题,如果它对你有用,如果你可以将它添加为已解决,那就太好了
  • 是的,我要等 4 分钟 :)。
【解决方案2】:
var i = 0;    
$('button').click(function() { 
    if (i == 0){        
        $('div').css({background: 'red'}) 
        i++; 
    } else { 
        $('div').css({background: 'yellow'}) 
        i = 0; 
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2020-07-16
    • 2014-01-09
    • 2015-02-17
    • 2021-07-14
    相关资源
    最近更新 更多