我现在试图完成这个已经有一段时间了,我无法弄清楚什么是错的:
我的链接:
<%= link_to '#', tag, class: "tag-tooltip",
:data => {:toggle=>"tooltip"},
'data-original-title' => "Hey Whats up",
'data-placement' => 'right'%>
我的Javascript:
$('.tag-tooltip').tooltip();
但它不起作用......我缺少什么?
编辑
如果我进入我的Chrome控制台并插入($('。tag-tooltip')。tooltip();)它正在运行。
所以我猜js文件没有加载? (我检查了我的application.js,我要求一切。)
我发现包装有效:
$(document).on("ready page:change", function() {
$('.tag-tooltip').tooltip();
});
更新:
$(document).on("turbolinks:load",function(){
$('.tag-tooltip').tooltip();
})
随着香草JS
document.addEventListener("turbolinks:load", function() {
$('.tag-tooltip').tooltip();
});
在我的情况下,问题是我在jquery-ui
之后加载bootstrap-sprockets
在我的application.js
我改变了:
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require jquery-ui
至
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require turbolinks
//= require bootstrap-sprockets
然后它开始按预期工作。
您需要在代码中添加一些脚本:
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip(
{container:'body', trigger: 'hover', placement:"right"}
);
});