10

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

4

2 回答 2

9

在 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 论坛上找到

于 2013-07-11T00:37:39.673 回答
-1
var i = 0;    
$('button').click(function() { 
    if (i == 0){        
        $('div').css({background: 'red'}) 
        i++; 
    } else { 
        $('div').css({background: 'yellow'}) 
        i = 0; 
    }
});
于 2014-06-27T10:03:59.337 回答