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

Why jQuery .on() doesn't handle javascript dynamically created 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 });

如果事件没有冒泡,它就不会达到 document 级别,委托处理程序也不会被调用。