我有一个通过listjs动态管理的行表。我已经使这些行可单击以基于数据属性(数据模态)打开Bootstrap模式。这一切都正常,除了链接出现在行的列中。锚都在射击,模态正在打开。
为了防止这种情况,我使用了以下代码,它处理了最初加载的元素:
$("[data-modal]").on("click", "a:not(.open-disabled)", function(e) {//open modal code}
但正如预期的那样,这并不会绑定到动态注入的行或div。
所以我改变了我的代码以尝试绑定到$(文档),但是我无法让:not选择器正确链接 - 选择器没有被正确识别而模态没有开。
以下是我将代码更改为:
$(document).on("click", "[data-modal], a:not(.open-disabled)", function(e) {}
问题: 答:如果存在一个被点击的锚子元素,如何链接上面的选择器以防止模态打开。
B中。有没有更好的方法来防止模态打开?
答案 0 :(得分:0)
试试这个,
$(document).on("click", "[data-modal] > a:not(.open-disabled)", function(e) {}
//-----------^ use child selector here
答案 1 :(得分:0)
我通过实施此处描述的方法找到了解决方案:https://stackoverflow.com/a/8696420/2659318
以下是生成的代码:
$(document).on("click", "[data-modal]", function() {
$(this).modal();
});
$(document).on("click", "a.open-disabled", function(e) {
if (!e.stopPropagation) {
e.cancelBubble = true;
return;
}
e.stopPropagation();
})