文章摘要:通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。显示被隐藏的元素,并隐藏已显示的元素。有时候用toggle会出现不生效的问题,这种情况一般是因为jq版本过高的原因,
通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。显示被隐藏的元素,并隐藏已显示的元素。有时候用toggle会出现不生效的问题,这种情况一般是因为jq版本过高的原因,toggle() 1.8以上被淘汰。
在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()高(新)版本的问题解决的资料,希望能帮助到大家,谢谢大家对本站的支持!

