twitter bootstrap工具提示插件中的数据延迟

Spy*_*ros 52 jquery twitter-bootstrap

我无法使twitter bootstrap工具提示的数据延迟属性起作用.我使用它像:

以下是我如何使用它:

<a href="#" data-toggle="tooltip" data-delay="{ show: 5000, hide: 3000}">with delay</a><script>jQuery('a[data-toggle="tooltip"]').tooltip().click( function(e) { e.preventDefault(); }); </script>
Run Code Online (Sandbox Code Playgroud)

但我没有看到任何延迟显示/隐藏.有什么想法吗?

aze*_*eós 107

最后我使用了data属性.

data-delay='{"show":"5000", "hide":"3000"}'
Run Code Online (Sandbox Code Playgroud)

对象必须用单引号括起来,带双引号的键和带double或none的值,可能取决于类型.是唯一有效的方法.

这也适用于弹出窗口.

  • 这应该是答案.不是基于JavaScript的解决方案. (9认同)
  • `data-delay`属性似乎是JSON格式,这就是为什么你显然必须加倍引用键名.仅供参考,如果你不想要,你不必引用整数值,例如`data-delay ='{"show":100,"hide":1000}'` (6认同)
  • `data-delay ='{"show":100,"hide":1000}'`和`data-delay ='{"show":"5000","hide":"3000"}'`不是为我做任何事.这对其他人有用吗? (5认同)
  • 奇怪的是它似乎没有相反的方式使用双引号. (3认同)
  • 在 B5 上只需添加“bs”,就像其他属性一样:`data-bs-delay='{"show":"5000", "hide":"3000"}'`,它对我有用 (2认同)

Gau*_*164 26

为什么你不能这样做?

$('a').tooltip({
     'delay': { show: 5000, hide: 3000 }
});
Run Code Online (Sandbox Code Playgroud)

  • 这确实有效,但它没有回答如何使用data属性的原始问题. (7认同)

Rus*_*ust 5

我更喜欢这样:

$(document).ready(function(){
    $('[data-toggle="tooltip"]').tooltip({'delay': { show: 5000, hide: 3000 }
    });   
});
Run Code Online (Sandbox Code Playgroud)