2014-03-19 134 views
1

我正在使用Twitter Bootstrap的.popover jQuery插件。我寫我自己的jQuery插件,利用.popover,但控制檯說this「沒有方法'彈出'。」這裏是我的代碼:在其他jQuery插件中調用自定義jQuery插件

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

回答

3

裏面的$.fn.popover功能,this是jQuery的對象popover()被稱爲上。但是,在this.click()的回調中,this是觸發點擊事件的元素。每當你在另一個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'); 
    }); 
} 
+0

爲我工作。我在匿名函數的第一行設置了'ths = $(this);'。謝謝! – GiantDuck

+0

很高興能幫到你:-) –