0
考慮到JavaScript代碼,緩存event.target是否有優勢?我使用這種事件來避免千名事件調解員加入競爭者。緩存event.target有意義嗎?
要我這樣做:
$element.addEventListener("click",function(event)
{
if(event.target.id == "someid")
{
event.target.dosomething
event.target.dosomething
event.target.dosomething
event.target.dosomething
}
else if (event.target.id == "someanotherid")
{
event.target.dosomething
event.target.dosomething
event.target.dosomething
event.target.dosomething
}
});
或本:
$element.addEventListener("click",function(event)
{
if(event.target.id == "someid")
{
var targetA = event.target;
targetA.dosomething
targetA.dosomething
targetA.dosomething
targetA.dosomething
}
else if (event.target.id == "someanotherid")
{
var targetB = event.target;
targetB.dosomething
targetB.dosomething
targetB.dosomething
targetB.dosomething
}
});
謝謝,但經過一些反應後,我不明白事件如何緩存..我的意思是event.target.id ==「someid」和event.target.id ==「 someanotherid「是不同的元素,所以爲什麼不給它們分配不同的變量?!對於每次點擊,目標都可以改變,那麼爲什麼要緩存event.target呢? – albator
您正在緩存*每次點擊*。它是一個*變量*,這意味着它被用於抽象,並且可以在後續運行中保存不同的值(不同的元素) - 就像每次事件對象包含不同的事件對象一樣。 – Bergi
哇我明白了!非常感謝 – albator