本站公告: 暂无公告....

jquery1.9 toggle失效替代

前端开发 兰亭楼 3评论 624浏览
jQuery在升级到1.9版本之后,toggle(fn1,fn2)方法失效,下面提供两种解决办法: 1.引入Migrate插件进行修复。 2.将下列代码加入到jQuery1.9的代码 [php] 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 ); } // migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated"); // 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 ); }; [/php] 另外此次升级还牵扯到的一些常用函数包括 .bind().live() .delegate() .die() 也都删除了,统统由.on() .off()来代替。 jquery1.9 toggle失效替代

转载请注明: 兰亭楼 » jquery1.9 toggle失效替代

发表我的评论 换个身份
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (3)