當我打電話addDomListener或addDomListenerOnce:
const domNode = document.getElementById('...');
google.maps.event.addDomListener(domNode, "mouseover", () => { ... })
我不斷收到以下控制臺警告:
google.maps.event.addDomListener() is deprecated, use the standard addEventListener() method instead:
https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener
The feature will continue to work and there is no plan to decommission it.
我如何遷移到addEventListener不破壞任何東西?
uj5u.com熱心網友回復:
兩者都已于 2022addDomListener年4 月 7 日棄用,但它們addDomListenerOnce
......將繼續作業,并且沒有計劃將它們退役。
如果您想擺脫警告,請執行以下操作:
addDomListener選擇
按照官方檔案中的建議,您應該遷移到本機 DOM 的addEventListener.
所以而不是:
const domNode = document.querySelector('...');
google.maps.event.addDomListener(domNode, 'mouseover', (evt => {
// handle mouseover
}));
你會這樣做:
domNode.addEventListener('mouseover', (evt => {
// handle mouseover
}));
在這兩種情況下,偵聽器的evt引數都會繼續實作DOMEvent介面——取決于事件型別。
addDomListenerOnce選擇
與上面類似,但增加了onceoption。所以而不是:
google.maps.event.addDomListenerOnce(domNode, 'click', (evt) => {
// handle clicks
});
你會這樣做:
domNode.addEventListener('click',
(evt) => {
// handle clicks only once
},
{ once: true }
);
?? 回傳型別改變
請注意,谷歌addDomListener[Once]都回傳一個MapsEventListener.
對于回傳的 DOM,情況并非addEventListener如此。void
因此,如果您之前存盤了您的偵聽器——通常是稍后洗掉/分離它們——您將需要以其他方式跟蹤它們……查看如何在 javascript 中洗掉事件偵聽器?或者讓瀏覽器的垃圾收集器為您分離偵聽器。
?? 提示:addEventListener還支持passive可以大幅提升性能的選項。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/469161.html
上一篇:如何使用r中的緩沖區過濾點
下一篇:將結果從JSON動態決議為串列
