在其他jQuery插件中调用自定义jQuery插件

时间:2014-03-19 16:44:45

标签: javascript jquery twitter-bootstrap

我正在使用Twitter Bootstrap的.popover jQuery插件。我正在编写自己的jQuery插件,它使用.popover,但控制台说this“没有方法'popover'。”这是我的代码:

$.fn.mypopover = function(msg){
    this.click(function(){
        this.popover({title:"Static title",content:msg,trigger:'manual'}).popover('show');
    });
}

1 个答案:

答案 0 :(得分:3)

$.fn.popover函数中,this是调用popover()的jQuery对象。但是,在this.click()的回调中,this是触发click事件的元素。每当你进入另一个function时,this将会有所不同(根据函数的调用方式)。

您需要在点击事件中执行$(this).popover()

$.fn.mypopover = function(msg){
    // "this" is a jQuery object
    this.click(function(){
        // "this" is a DOM element
        $(this).popover({title:"Static title",content:msg,trigger:'manual'}).popover('show');
    });
}