无法获取浏览器控制台显示的Bootstrap Table事件,求解决方法
解决Bootstrap Table check.bs.table事件绑定错误的方法
你的代码报错是因为两个核心问题:事件参数顺序错误,以及非法访问了jQuery内部私有属性。以下是正确的实现方式:
错误原因拆解
- 参数顺序搞反:Bootstrap Table的
check.bs.table事件,第一个参数是事件对象e,第二个才是选中的行数据row,第三个是行DOM元素$element,你颠倒了参数顺序。 - 访问私有属性:
row.currentTarget.jQuery2240240399670067494632是jQuery内部生成的私有命名空间属性,属于框架内部实现细节,不能直接访问,这才触发了Cannot read properties of undefined (reading 'bootstrap')错误。
正确的事件绑定代码
$('#gridDossiers').on('check.bs.table', function (e, row, $element) { // 打印当前选中的行数据 console.log("选中的行数据:", row); // 获取Bootstrap Table实例(官方标准方式) const table = $('#gridDossiers').bootstrapTable(); // 示例:获取所有选中的行 const allSelectedRows = table.bootstrapTable('getSelections'); console.log("所有选中行:", allSelectedRows); // 示例:获取表格的配置信息 console.log("表格配置:", table.bootstrapTable('getOptions')); })
关键说明
- 事件触发时,
row参数直接就是当前选中行的数据源对象,无需从DOM元素上额外读取。 - 要操作Bootstrap Table实例,直接通过
$('#gridDossiers').bootstrapTable()获取,再调用官方提供的方法(如getSelections、getOptions等)即可,不要尝试访问框架内部的私有属性。
内容的提问来源于stack exchange,提问作者Achraf
相关产品推荐
相关产品推荐

