如何防止 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 转换后附加事件处理程序。
我正在使用 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 转换后附加事件处理程序。