Ошибка Uncaught: нет такого метода "показать" для экземпляра виджета всплывающей подсказки
Я использую ajax для отправки формы для моей регистрации, но у меня проблема с настройкой всплывающих подсказок для отображения сообщений об ошибках для ошибок, которые возвращаются с контроллера.
JavaScript:
$(document).on('ajax:success', '.user_modal_form', function(e, data, status, xhr) {
var context;
context = $(this);
if (data.success) {
$('button', context).hide();
$('.spinner', context).show();
location.reload();
} else {
if (data.errors != null) {
$.each(data.errors, function(key, error) {
var field;
field = $("#athlete_" + key);
field.attr('data-original-title', "" + key + " " + error).tooltip({
trigger: 'manual'
}).tooltip("show");
});
}
}
});
Сообщение Об Ошибке: Uncaught Error: no such method 'show' for tooltip widget instance
3 ответов
У меня была такая же ошибка.
У меня был конфликт с jQuery UI.
Если вы используете jQuery UI, вам нужно перекодировать порядок загрузки скрипта.
мой заказ рабочей нагрузки:
- jQuery
- jQuery UI
- Bootstap
на root этой и подобной проблемы
"нет такого метода "скрыть" для экземпляра виджета всплывающей подсказки"
что и JqueryUI и Boostrap имеют подсказки метод
JqueryUI работает:
$el.tooltip("option","show");
$el.tooltip("option","hide");
Boostrap работает:
$el.tooltip("show");
$el.tooltip("hide");
так как Богдан Льюис показал, что вам нужно изменить порядок скриптов, например, с помощью помощью RequireJS, вам необходимо сделать Boostrap загружаться после JqueryUI
var $ = require('jquery');
require('jquery_ui');
require('bootstrap');
и настройка config для requirejs, как:
bootstrap: {
deps: ['jquery', 'jquery_ui']
},
самым простым решением для меня было просто убрать всплывающие подсказки компоненты из дистрибутива пользовательского интерфейса jQuery I загрузить.