Hey! Hello~

658文章 21相册

收藏 归档 足迹

王叔书的个人主页 运行16年112天

签名:点滴记录 见证历程 朴素的文字 浓厚的情感
所在地:贵州·贵阳
5小时前 上线 留言 已实名备案
格言:花有重开日,人无再少年,愿自己内心依然少年,永保一颗少年的心,心存善愿和远方。

jquery2 toggle替代方法

14Jul2013 王叔书 0

最近采用jquery2.0.1以后好多函数都失效了,今天做评论列表隐藏时发现.toggle函数也没用了,用.on来做吧,还得放个判断做两个点击按钮,感觉代码好多也很麻烦,后来网上搜索一番找到两个方法,在此记录一下。

1、引入Migrate插件进行修复。但是我也有洁癖,希望代码越精简越好,这个方法就不考虑了。

2、在现有的jquery代码中加入一段来修复此函数。

$.fn.toggle = function( fn, fn2 ) {
    if ( !$.isFunction( fn ) || !$.isFunction( fn2 ) ) {
        return oldToggle.apply( this, arguments );
    }
    var args = arguments,
        guid = fn.guid || $.guid++,
        i = 0,
        toggler = function( event ) {
    var lastToggle = ( $._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
        $._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
        event.preventDefault();
        return args[ lastToggle ].apply( this, arguments ) || false;
    };
        toggler.guid = guid;
        while ( i < args.length ) {
        args[ i++ ].guid = guid;
        }
        return this.click( toggler );
};

至此,大功告成,简单有效也不需引入一大段用不上的代码。

1个留言

    2013年08月05日
    塞规 这个方式还是很好的

留言

9413.LOVE