【问题标题】:jQuery pluggin -> Zepto; $.fn.extend is undefinedjQuery 插件 -> Zepto; $.fn.extend 未定义
【发布时间】:2012-10-24 01:58:30
【问题描述】:

我是 zepto 的新手,我将它用作网站移动部分的 jQuery 替代品。

所以 zepto 没有 $.fn.extend。很好,这对我来说很酷,但是无论 jquery 还是 zepto,我都需要我的插件才能工作。

zepto 对 fn.extend 的替代是什么?您将如何进行跨库扩展?我还没有找到这方面的任何文档。

 $.fn.extend({
     lineRedNAddClass : function(option){
         $(this).css('border','red 1px solid').addClass(option);   
     }
 });

这可以在同一个脚本中同时使用吗?

【问题讨论】:

    标签: jquery jquery-plugins zepto


    【解决方案1】:

    换句话说,为了让一些 jquery 插件与 zepto 一起工作,我在 zepto.js 的末尾添加了这两行:

    jQuery = Zepto;
    $.fn.extend = function(obj) {
        $.extend($.fn, obj);
    };
    

    【讨论】:

    • 简洁优雅!
    【解决方案2】:

    Zepto 的扩展函数可以通过 $.extend() 访问,它也可以在 jQuery API 中使用,所以我们可以简单地使用它扩展 $.fn

    示例:

    $.extend($.fn, {
        myFunc: function() {
            $(this).css({
                color: 'red'
            });
        }
    });
    

    这是一个演示。我已将两个库都加载到资产中,因此只需使用前两行切换 $ 的值。包含一个consle.log 以证明加载了正确的库。

    http://jsfiddle.net/WNTXY/

    【讨论】:

    • 我刚刚做了,但是例外,shweeet。
    猜你喜欢
    • 2012-12-02
    • 2013-07-02
    • 2017-10-22
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    相关资源
    最近更新 更多