Javascript不使用modal中的元素

Javascript不使用modal中的元素,javascript,bootstrap-4,Javascript,Bootstrap 4,我需要帮助 使用Bootstrap3,我制作了一个带有小表单的模式,让管理员/用户更改用户的密码 我已经尝试使用Bootstrap4实现了同样的功能,但是我无法执行由模式中的锚或按钮触发的javascript 你能帮我吗 不起作用的示例: $('.classFromElement').on('click', function (e) { e.preventDefault(); alert('hello world'); }); 模态可能是动态添加的html元素。所以它还不是D

我需要帮助

使用Bootstrap3,我制作了一个带有小表单的模式,让管理员/用户更改用户的密码

我已经尝试使用Bootstrap4实现了同样的功能,但是我无法执行由模式中的锚或按钮触发的javascript

你能帮我吗

不起作用的示例:

$('.classFromElement').on('click', function (e) {
    e.preventDefault();

    alert('hello world');
});

模态可能是动态添加的html元素。所以它还不是DOM的一部分。您必须通过“document”或“html,body”遍历(委托事件)窗口加载后添加的新元素。我更喜欢使用“document”,因为我有时甚至连html或body元素都没有呈现出来,而且它有更好的性能

最佳选择和最佳性能

$(document).on('click','.classFromElement', function(e) {
    e.preventDefault();

    alert('hello world');
});
或者。。。使用“body,html”(为什么两者都使用?为了支持浏览器,它们相互备份)


模态可能是动态添加的html元素。所以它还不是DOM的一部分。您必须通过“document”或“html,body”遍历(委托事件)窗口加载后添加的新元素。我更喜欢使用“document”,因为我有时甚至连html或body元素都没有呈现出来,而且它有更好的性能

最佳选择和最佳性能

$(document).on('click','.classFromElement', function(e) {
    e.preventDefault();

    alert('hello world');
});
或者。。。使用“body,html”(为什么两者都使用?为了支持浏览器,它们相互备份)


我曾经试过这个,效果很好

这是当您打开bs模式,然后将事件应用到按钮时

$('#myModal').on('show.bs.modal', function () {
    $('.classFromElement').on('click', function (e) {
        e.preventDefault();
        alert('hello world');
    });
})

我曾经试过这个,效果很好

这是当您打开bs模式,然后将事件应用到按钮时

$('#myModal').on('show.bs.modal', function () {
    $('.classFromElement').on('click', function (e) {
        e.preventDefault();
        alert('hello world');
    });
})
对不起, 我看到了我的错误

我把情态动词放在了脚本之前。 这就是问题所在。现在问题解决了

:(

对不起, 我看到了我的错误

我把情态动词放在了脚本之前。 这就是问题所在。现在问题解决了


:(

删除
e.preventDefault()时会发生什么;
是否可以尝试删除该元素并查看会发生什么?元素是否动态添加?如果是这样,您可能需要使用事件委派来触发它。删除
e.preventDefault()时会发生什么
?是否可以尝试删除该元素并查看会发生什么?元素是否动态添加?如果是,您可能需要使用事件委派来触发它。