toggle不生效的原因jQuery版本过高

文章摘要:通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。显示被隐藏的元素,并隐藏已显示的元素。有时候用toggle会出现不生效的问题,这种情况一般是因为jq版本过高的原因,

通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。显示被隐藏的元素,并隐藏已显示的元素。有时候用toggle会出现不生效的问题,这种情况一般是因为jq版本过高的原因,toggle() 1.8以上被淘汰。

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


****************************************************************************************
****************************************************************************************
  1. /**
  2. * Replacement for toggle
  3. */
  4. jQuery.fn.toggle = function( fn, fn2 ) {
  5. // Don't mess with animation or css toggles
  6. if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
  7. return oldToggle.apply( this, arguments );
  8. }
  9. // Save reference to arguments for access in closure
  10. var args = arguments,
  11. guid = fn.guid || jQuery.guid++,
  12. i = 0,
  13. toggler = function( event ) {
  14. // Figure out which function to execute
  15. var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
  16. jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
  17. // Make sure that clicks stop
  18. event.preventDefault();
  19. // and execute the function
  20. return args[ lastToggle ].apply( this, arguments ) || false;
  21. };
  22. // link all the functions, so any of them can unbind this click handler
  23. toggler.guid = guid;
  24. while ( i < args.length ) {
  25. args[ i++ ].guid = guid;
  26. }
  27. return this.click( toggler );
  28. };

****************************************************************************************
****************************************************************************************

以上就是jquery不支持toggle()高(新)版本的问题解决的资料,希望能帮助到大家,谢谢大家对本站的支持!

  • 版权声明:本站原创文章,于2020-04-27 21:45,由 发表。
  • 转载请注明出处