我正在使用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');
});
}
答案 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');
});
}