如何防止 bootstrap-table 清除我的事件处理程序?

How can I prevent bootstrap-table from clearing my event handlers?

我正在使用 Bootstrap Table 在我的网络应用程序中显示漂亮的 table。我发现当我的常规普通 HTML <table> 转换为 Bootstrap table 时,我在 table 中的按钮会丢失事件处理程序——尤其是,不要触发我为 onclick 事件注册的内容。

例如,如果 mainTable<table> 的 ID,button<button> 的 ID,如果事件是依此顺序附上:

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

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

调用 bootstrapTable() 有效,但我无法执行此操作,因为我从其他我无法控制的代码中获取已配置的 table。

为什么要删除这些事件处理程序?我可以阻止这种行为吗?

这里有一个 JFiddle 来试试看。

我直接在库中实现了下面的功能,效果很好

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});

我希望能为他们服务(对不起我的英语)

看起来像Bootstrap Table的代码,当它必须转换现有的table时,获取每个单元格的内容作为文本(包括潜在的内部HTML 标记),并重新创建它们。副作用是所有事件处理程序都在此过程中丢失。

唯一的解决方法是在 table 转换后附加事件处理程序。