Всплывающая подсказка в Ruby on Rails
Я пытаюсь сделать это в течение достаточно долгого времени, и я не могу понять, что не так:
Моя ссылка:
<%= 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, и мне требуется все.)
3 ответа
Решение
Я нашел упаковку, которая работала:
$(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"}
);
});