-
杨__羊羊
你可以在IE 8或更低版本上使用fireEvent,在大多数其他浏览器上使用w3c的dispatchEvent。要创建要触发的事件,您可以使用createEvent或createEventObject依赖浏览器。下面是代码(从原型)一个不言自明一块触发一个事件dataavailable上的element:var event; // The custom event that will be createdif (document.createEvent) {
event = document.createEvent("HTMLEvents");
event.initEvent("dataavailable", true, true);} else {
event = document.createEventObject();
event.eventType = "dataavailable";}event.eventName = "dataavailable";if (document.createEvent) {
element.dispatchEvent(event);} else {
element.fireEvent("on" + event.eventType, event);}
-
MMTTMM
如果你使用jQuery,你可以简单地做$('#yourElement').trigger('customEventName', [arg0, arg1, ..., argN]);并处理它$('#yourElement').on('customEventName',
function (objectEvent, [arg0, arg1, ..., argN]){
alert ("customEventName");});其中“[arg0,arg1,...,argN]”表示这些参数是可选的。
-
千巷猫影
如果您不想使用jQuery并且不特别关注向后兼容性,那么只需使用:let element = document.getElementById(id);element.dispatchEvent(new Event("change")); // or whatever the event type might be请参阅此处和此处的文档。编辑:根据您的设置,您可能需要添加bubbles: true:let element = document.getElementById(id);element.dispatchEvent(new Event('change', { 'bubbles': true });