jquery不支持toggle()高(新)版本的问题解决

在js代码中引入以下代码,让高版本的jquery兼容toggle事件。代码如下:

/**

* Replacement for toggle

*/

jQuery.fn.toggle = function( fn, fn2 ) {

// Don't mess with animation or css toggles

if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {

return oldToggle.apply( this, arguments );

}

// Save reference to arguments for access in closure

var args = arguments,

guid = fn.guid || jQuery.guid++,

i = 0,

toggler = function( event ) {

// Figure out which function to execute

var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;

jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );

// Make sure that clicks stop

event.preventDefault();

// and execute the function

return args[ lastToggle ].apply( this, arguments ) || false;

};

// link all the functions, so any of them can unbind this click handler

toggler.guid = guid;

while ( i < args.length ) {

args[ i++ ].guid = guid;

}

return this.click( toggler );

};

以上是 jquery不支持toggle()高(新)版本的问题解决 的全部内容, 来源链接: utcz.com/z/340282.html

回到顶部