javascript - 如何处理将元素添加到页面的事件?

标签 javascript jquery coffeescript

我有一个应用程序,点击链接会弹出一个模式。在模式中是一个表单。我需要监控该表单的提交。

我在我的 JS 中附加了一个点击处理程序,如下所示:

$('.vex-dialog-form :submit').click (event) ->
    alert "hi"

该警报未触发,我相信这是因为我需要为该模态加载附加某种事件处理程序,然后将提交事件放入其中。

关于如何解决这个问题有什么建议吗?

最佳答案

对于动态添加的 DOM,您需要事件委托(delegate)。使用 .on():

 $('.vex-dialog-form').on('click',':submit',function(){
   alert("hi");
 });

如果父级 .vex-dialog-form 也被动态添加,那么使用:

 $(document).on('click','.vex-dialog-form :submit',function(){
   alert("hi");
 });

关于javascript - 如何处理将元素添加到页面的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23053278/

相关文章:

javascript - 我正在努力展平一个对象中的两个数组

javascript - JQM .load()/.html() 内容未设置样式,已尝试我找到的所有内容

json - 如何将 JSON 数据放入 CoffeeScript?

javascript - Coffeescript 严格比较

javascript - 优化异步查找算法

javascript - 用户代理(浏览器)不通过 h​​ttps 提示输入凭据

支持 Javascript 链接的关系运算符吗?

javascript - 改变 richselect 的输入颜色

jquery - 如何使用最接近的 DOM 元素并查找并将其作为 jQuery 对话框?

javascript - jquery float图表不会动态更新时间序列的X轴值