Bootstrap 4 显示了electron应用程序中未触发的.bs.tab事件
在尝试修复datatables.net标题大小问题(在隐藏选项卡中创建标题时,标题的大小不会调整到表体大小)时,我发现在electron(2.0.9)中运行页面时,从未调用我的事件侦听器函数。当我在浏览器中运行相同的html页面时,事件侦听器将运行。我正在使用Bootstrap v4.0.0和datatables.net-bs4 npm包(版本1.10.19) 以下是适用的html页面:Bootstrap 4 显示了electron应用程序中未触发的.bs.tab事件,bootstrap-4,electron,datatables-1.10,Bootstrap 4,Electron,Datatables 1.10,在尝试修复datatables.net标题大小问题(在隐藏选项卡中创建标题时,标题的大小不会调整到表体大小)时,我发现在electron(2.0.9)中运行页面时,从未调用我的事件侦听器函数。当我在浏览器中运行相同的html页面时,事件侦听器将运行。我正在使用Bootstrap v4.0.0和datatables.net-bs4 npm包(版本1.10.19) 以下是适用的html页面: 东西 表2 可乐 可乐 表3 可乐 可乐 Col4/th> 可乐 表4-
-
-
-
-
东西
表2
可乐
可乐
表3
可乐
可乐
Col4/th>
可乐
表4-设置
新增
取消
$(文档).ready(函数(){
log(“为引导设置事件”);
console.log(navigator.appName);
$('a[data toggle=“tab”]”)on('show.bs.tab',函数(e){
log('显示-显示新选项卡之后');
});
$('a[data toggle=“tab”]”)on('show.bs.tab',函数(e){
log('show-在显示新选项卡之前');
});
});
此外,我还在$(document).ready函数中加入了另一个事件侦听器
$('tab-2')。单击(函数(e){
console.log(“单击选项卡2”);
e、 预防默认值();
//$(this.tab('show');
log($(this));
console.log($(this.tab);
log($($.fn.dataTable.tables(true));
$('.table').css('width','100%”);
$('.dataTables_scrollHeadInner').css('width','100%”);
设x=$('#tab-2')。查找(“th”);
console.log(x[0]);
console.log($(x[0]);
log($(x[0]).css(“宽度”);
log($($.fn.dataTable.tables(true));
log($($.fn.dataTable.tables(true)).dataTable());
});
当我单击选项卡时会调用它,并且除了fn.dataTable日志行之外,所有的值都在那里。fn.dataTable.tables的console.log显示一个空数组和一个似乎没有数据的_Api对象。我相信我已经找到了问题所在。在包含的js文件(page.js)中,我有一句话: var$=require('jquery')
我将document.ready块放在包含的js文件中,并删除了require行。现在,Showed.js.tab事件正在触发。可能与的重复,请参见上面的“我的编辑”。单击选项卡时,单击事件将触发。另外,我在所包含的js脚本(“page.js”)中执行require('jquery'),这是另一个奇怪之处。当我注册show.bs.tab事件,并在dev tools窗口中查看事件监听器时,我看到这些元素的事件“show”,而不是“show.bs.tab”。我尝试破解bootstrap.js文件以使用事件“shownbstab”(不带点),并更改javascript以注册相同的事件名称,但是事件监听器功能仍然没有启动。我真的不知道关于electron的任何事情,我可以确定你的标记是正确的->在谷歌搜索发现似乎有一些常见的错误之后。
*.bs.tab
只是一个名称空间,您不必担心这一点。