在jQuery中使用什么而不是`toggle(...)`> 1.8?

时间:2013-01-17 15:50:32

标签: toggle jquery

现在toggle(...)deprecated in jQuery 1.8,然后是removed in jQuery 1.9

可以在 general 中使用什么(除了使用jQuery migrate脚本)而不是toggle(fn, fn2);具有相同类型的功能?

相关问题(询问具体案例):What to use instead toggle?


知道 toggle()功能已删除,只是能够添加自定义切换功能(除了显示/隐藏默认功能)。< / p>

1 个答案:

答案 0 :(得分:19)

这是一个简单的实现:

$.fn.toggleClick = function() {
    var methods = arguments;    // Store the passed arguments for future reference
    var count = methods.length; // Cache the number of methods 

    // Use return this to maintain jQuery chainability
    // For each element you bind to
    return this.each(function(i, item){
        // Create a local counter for that element
        var index = 0;

        // Bind a click handler to that element
        $(item).on('click', function() {
            // That when called will apply the 'index'th method to that element
            // the index % count means that we constrain our iterator between 0
            // and (count-1)
            return methods[index++ % count].apply(this, arguments);
        });
    });
};

并将其用作

$('selector').toggleClick( function1, function2, ... );