X-редактируемый плагин bootstrap "скрытая" проблема события на динамически добавляемых элементах
Я не могу заставить "скрытое" событие X-editable работать с динамически добавленными классами (или полями) через JS. Я могу управлять им, только если добавляю редактируемые классы прямо на HTML, но этот подход мне не подходит. Что я делаю не так?
$.fn.editable.defaults.mode = "inline";
$.fn.editable.defaults.onblur = "submit";
$(document).ready(function () {
$('.field').each(function() {
$(this).addClass('editable');
});
$('.editable').editable();
});
$(document).on('hidden', '.editable', function(e, params) {
alert('was hidden!');
});
Скрипка:http://jsfiddle.net/4vj8buks/17/
2 ответов
вы можете подключиться к скрытому событию редактируемого следующим образом:
$.fn.editable.defaults.mode = "inline";
$.fn.editable.defaults.onblur = "submit";
$(document).ready(function () {
$('.field').each(function() {
$(this).addClass('editable');
});
$('.editable').editable().on('hidden', function (e, params) {
alert('was hidden!');
});
});
Я не думаю, что принятый ответ действительно устраняет проблему.
скрытое событие не всплывает до уровня документа. Чтобы обойти это, мне пришлось добавить код для настройки события снова везде, где вставлены элементы (что в моем случае было только одно место).
см. здесь для обсуждения этой проблемы, хотя и не очень полезно. https://github.com/vitalets/x-editable/issues/86