现在toggle(...)
为deprecated in jQuery 1.8,然后是removed in jQuery 1.9
可以在 general 中使用什么(除了使用jQuery migrate脚本)而不是toggle(fn, fn2);
具有相同类型的功能?
相关问题(询问具体案例):What to use instead toggle?
我知道 toggle()
功能不已删除,只是能够添加自定义切换功能(除了显示/隐藏默认功能)。< / p>
答案 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, ... );