我有一个vanilla javascript系统在下拉菜单上触发“更改”事件:
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 });
如果事件没有冒泡,它将无法达到document
级别,委托的处理程序也不会被调用。