javascript - 为什么 jQuery .on() 不处理 javascript 动态创建的事件?

标签 javascript jquery dom-events

我有一个普通的 Javascript 系统触发 change下拉菜单上的事件:

const event = new Event('change');
select.dispatchEvent(event);

它可以完美地通过 addEventListener() 处理该事件或$('select').on() 但如果.on()则不起作用函数设置为目标动态元素:

$(document).on('change', 'select', function() {
    console.log('should');
});

我错过了什么?

最佳答案

默认情况下,构造的事件不会在 DOM 树中冒泡。如果您想要这样,您需要明确提出要求:

const event = new Event("change", { bubbles: true });

如果事件不冒泡,则不会达到文档级别,并且不会调用委托(delegate)处理程序。

关于javascript - 为什么 jQuery .on() 不处理 javascript 动态创建的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66674065/

相关文章:

javascript - jqPlot - 饼图数据突出显示

javascript - 需要了解NodeJS中ReadWrite的流程

javascript - angular scrollstart 和 scrollstop 不会在指令中触发,scroll 会

javascript - 我不明白为什么这个循环不是无限的

javascript - 如何删除选择框中选项元素周围的蓝色边框和蓝色选项颜色

javascript - 循环多维 UL 生成 javascript 数组

javascript - 为什么多个 $.getJSON 调用不能正常工作?

JavaScript 事件管理,处理全局事件与大量监听器

javascript - 当 Django Admin 弹出窗口(绿色加号图标)完成时,是否有事件或其他方式调用 Javascript 函数?

javascript - 显示对象的随机内容