[英]Why Dose React Use Synthetic Events?
根據文檔,反應合成事件是
圍繞瀏覽器的本機事件的跨瀏覽器包裝器。 它與瀏覽器的本機事件具有相同的接口,包括 stopPropagation() 和 preventDefault(),除了事件在所有瀏覽器中的工作方式相同。
如果事件的界面始終相同(正如“它與瀏覽器的本機事件具有相同的界面”所暗示的那樣),為什么事件在每個瀏覽器中的工作方式相同很重要? React 使用事件委托的事實是否使這變得有必要?
幾年前,開發人員需要使用類似的東西來確保一個甚至可以在每個瀏覽器上工作。
function addEvent(evnt, elem, func) {
if (elem.addEventListener) // W3
elem.addEventListener(evnt,func,false);
else if (elem.attachEvent) { // Internet Explorer
elem.attachEvent("on"+evnt, func);
}
else { // other browsers
elem["on"+evnt] = func;
}
}
大多數情況下,問題是由 Internet Explorer 引起的。 React(與 jQuery 一樣)為我們關心它。 因為今天大多數公司仍在使用 IE10/11,我們需要注意編寫正確的代碼來附加事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.