好的,所以我正在创建一个脚本来避免激活父 div 中的链接。我添加了一张网站图片,让您了解它的外观,并让我更容易解释。白色选项卡由 Ajax 控制,并且在加载订单/订阅页面时加载所有这些选项卡。
表格中的所有行都是可点击的,当您将鼠标悬停在蓝色齿轮上时,它会显示一个下拉菜单。此下拉列表包含多个链接,这些链接需要 javascript/jquery 代码才能不激活行链接。问题是当你切换标签时,除非你重新加载页面,否则 js 代码不会运行(重新加载时 Activity 标签保持不变),但是网站的用户不应该每次在它们之间切换时都重新加载页面选项卡。
我完全不知道为什么 .js 文件只适用于 Activity 选项卡。一切都是用 Wicket/Java 编写的,为此页面使用了大量的 Ajax 事件。
JavaScript:
$(document).ready( function () {
$('.dropdown-menu > li > a').on('click', function(event) {
event.stopPropagation();
alert('Propagination Stopped');
});
编辑: 好的,所以我现在知道如果我添加
location.reload();
当点击选项卡时,但我有点想避免这种情况,因为这会增加不必要的加载时间。
最佳答案
我想出了问题所在。由于我将 Ajax 用于必须添加的选项卡
$(document).ajaxComplete(function { myFunction });
并将 onClick
放在那里。这样每次我切换标签时它都会正确加载。
非 Activity 选项卡中的不可见表格有 display: none;
这意味着当它们被设置为 display: visible;
它不是 DOM 的一部分。因此,除非重新加载页面,否则脚本不会运行。
不喜欢回答我自己的问题,但觉得应该分享这些信息。
谢谢大家的帮助!
关于JavaScript 每个选项卡只加载一次? (多个 "pages",单页表格),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20878931/