2015-04-02 56 views
0

我試圖從jQuery中的點擊功能中添加並顯示Bootstrap 3工具提示。如何在jQuery點擊函數中添加和顯示引導工具提示?

它運作良好,當我使用的點擊處理程序的匿名函數,但如果我嘗試將代碼放到一個名爲功能我得到的錯誤TypeError: undefined is not a function (evaluating '$button.tooltip(...

的JS文件的內容如下。這是在jQuery和bootstrap.min.js之後加載的。

$(function() { 
    function confirmClick(event) { 
     event.preventDefault(); 

     $button = event.target; 
     console.log($button); 

     $button.tooltip({ 
      title: 'Are you sure?', 
      trigger: 'manual', 
     }).tooltip('show'); 

     $button.unbind('click'); 
    } 

    $('.btn-confirm').click(confirmClick); 
}) 

最終,我正在尋找使用setTimeout來重新添加點擊處理程序並在X秒後隱藏工具提示。

最終的行爲將是用戶點擊按鈕,工具提示出現問「你確定嗎?」並且如果他們在X秒之前再次點擊鏈接。如果沒有,工具提示將被隱藏,併爲下次點擊準備相同的操作。我已經嘗試了使用wither手動或點擊觸發器添加工具提示,然後從confirmClick()函數中操作它,但是任何嘗試從命名的點擊函數內擊中.tooltip似乎都會失敗。

+2

嘗試'$ button = $(event.target);' – D4V1D 2015-04-02 05:32:04

+0

@ D4V1D就是這樣!發佈一個答案,我會接受它。 – 2015-04-02 05:36:53

回答

1

您需要使用jQuery選擇器來包裝您的目標才能使用.tooltip()

$button = $(event.target);而不是$button = event.target;

當且僅當您的變量存儲jQuery對象時,在$前加上您的變量。

+0

謝謝!我忘記了event.target是光禿禿的元素。 – 2015-04-02 05:44:27