0

如何觸發然後在香草JavaScript中處理事件?觸發器然後處理JavaScript事件?

我曾嘗試:

var fireOffAnEvent = function() { 
    // Dispatch the event. 
    var custom_event; // The custom event that will be created 

    if (document.createEvent) { 
     custom_event = document.createEvent("HTMLEvents"); 
     custom_event.initEvent("custom", true, true); 
    } else { 
     custom_event = document.createEventObject(); 
     custom_event.eventType = "custom"; 
    } 

    custom_event.eventMessage = "Hello events"; 

    document.createEvent ? document.dispatchEvent(custom_event) : document.fireEvent("on" + custom_event.eventType, 
                         custom_event); 
} 
fireOffAnEvent() 

這裏是我如何試圖處理事件:

document.addEventListener("custom", function(e) { 
    console.log(e.eventMessage); 
}); // Nothing happened 

document.addEventListener("HTMLEvents", function(e) { 
    console.log(e.eventMessage); 
}); // So tried ^, still nothing 

Plnkr:http://run.plnkr.co/Zqcdoj3W5z5w4ZQu/

+0

代碼示例自定義事件(創建,發射和處理)在這裏:https://開頭developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events – jfriend00

回答

0

嘗試註冊聽衆火後您的活動。 (放在你的代碼的最後)。然後,事件應該由他們妥善處理

+0

謝謝,那就是訣竅 – stackoverflowuser95

+0

太好了。你能否把它標記爲正確答案?謝謝 –

0

試試這個它的工作原理

var fireOffAnEvent = function() { 
// Dispatch the event. 
var custom_event; // The custom event that will be created 

if (document.createEvent) { 
    custom_event = document.createEvent("HTMLEvents"); 
    custom_event.initEvent("custom", true, true); 
} else { 
    custom_event = document.createEventObject(); 
    custom_event.eventType = "custom"; 
} 

custom_event.eventMessage = "Hello events"; 

document.createEvent ? document.dispatchEvent(custom_event) : document.fireEvent("on" + custom_event.eventType, 
                        custom_event); 
} 
// add the listener first 
document.addEventListener("custom", function(e) { 
    console.log(e.eventMessage); 
}); 

// then invoke it 
fireOffAnEvent(); 

下面是測試環節http://jsfiddle.net/qikhan/x4r4B/

相關問題