2015-04-02 58 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