11

现在它在 jQuery 1.8 中已toggle(...)弃用,然后在 jQuery 1.9 中被删除

通常可以使用什么(除了使用 jQuery 迁移脚本)而不是toggle(fn, fn2);那些具有相同类型的功能?

相关问题(询问具体案例):使用什么来代替切换?


知道功能没有toggle()被删除,只是添加自定义切换功能的能力(除了显示/隐藏默认功能)。

4

1 回答 1

20

这是一个简单的实现:

$.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, ... );
于 2013-01-17T16:08:49.187 回答