0

Я использую Bootstrap Table, чтобы отображать красивые таблицы в своем веб-приложении. Я обнаружил, что когда мой обычный простой HTML <table> преобразуется в таблицу Bootstrap, мои кнопки внутри таблицы теряют обработчики событий - особенно, не запускайте то, что я зарегистрировал для события onclick.Как я могу предотвратить перезагрузку bootstrap-таблицы моих обработчиков событий?

Например, если mainTable это идентификатор из <table> и button в виде <button>, ничего не происходит, когда я нажимаю кнопку, если события будут присоединены в следующем порядке:

$("#button").click(function() { 
    alert("hi there"); 
}); 

$("#mainTable").bootstrapTable(); 

Calling bootstrapTable() работы, но Я не могу этого сделать, поскольку я получаю настроенную таблицу из другого кода, который я не контролирую.

Почему эти обработчики событий удалены? Могу ли я предотвратить это поведение?

Вот JFiddle, чтобы попробовать.

ответ

0

Он выглядит как код Bootstrap Table, когда он должен преобразовать существующую таблицу, получает содержимое каждой ячейки в виде текста (включая потенциальную внутреннюю разметку HTML) и повторно создает их. Побочным эффектом является то, что все обработчики событий теряются в этом процессе.

Единственным обходным решением является присоединение обработчиков событий после преобразования таблицы.

0

Я реализовать следующую функцию непосредственно в библиотеке и работал очень хорошо

BootstrapTable.prototype.removeRow = function (params) { 
if (!params.hasOwnProperty('index')) { 
    return; 
} 

var len = this.options.data.length; 

if ((params.index > len) || (params.index < 0)){ 
    return; 
} 

this.options.data.splice(params.index, 1); 

if (len === this.options.data.length) { 
    return; 
} 

this.initSearch(); 
this.initPagination(); 
this.initBody(true); 
}; 

, как использовать, как «updateRow»

$("#your-table").bootstrapTable('removeRow',{index:1}); 

Я надеюсь, что служит им (извините за мой английский)

+0

Спасибо, но я не вижу, как это помогает мне сохранять обработчики событий, когда таблица сначала создается, как описано в моем вопросе ... –