首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery插件样板我的这是谁?

jQuery插件样板我的这是谁?
EN

Stack Overflow用户
提问于 2012-12-18 06:18:47
回答 1查看 198关注 0票数 1

我正在玩一个非常简单的jQuery插件"hello world“,但是我在使用jQuery Plugin Boilerplate时遇到了一些麻烦。例如,即使简单明了并且注释良好,我也觉得我漏掉了一点,无论我使用什么jQuery方法,我都会得到错误。下面是我的init函数。

代码语言:javascript
运行
复制
    Plugin.prototype = {

    init: function() {

        console.log(this, this.element); // this.element return my element works fine

        this.element.on('click', function() { // 'undefined' is not a function :(
            alert('whoa'); 
        });

        this.element.click(function() {  // not working at all :'(
            alert('whoa'); 
        });

    },

    open: function(el, options) {
        // some logic
    }
};

你能给我一个提示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-18 22:27:07

由于您正在使用一个框架来制作jQuery插件,因此您必须遵循它们的约定。

如果您只是在执行$.fn.plugin = function(){},那么this将是一个jQuery对象,因为$.fn是对jQuery.prototype的引用。

在您的框架中,this.element是原生DOM元素,因此要使用jQuery方法,需要将其包装在$()中。

代码语言:javascript
运行
复制
$(this.element).on('click', function(){
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13923179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档