currentTarget
JavaScript イベントのとプロパティの正確な違いtarget
と、どのシナリオでどのプロパティが使用されているかを教えてください。
129476 次
9 に答える
686
イベントはデフォルトでバブルします。したがって、2つの違いは次のとおりです。
target
イベントをトリガーした要素です (例: ユーザーがクリックした要素)currentTarget
イベントリスナーがアタッチされる要素です。
于 2012-04-10T09:50:41.483 に答える
53
最小限の実行可能な例
window.onload = function() {
var resultElem = document.getElementById('result')
document.getElementById('1').addEventListener(
'click',
function(event) {
resultElem.innerHTML += ('<div>target: ' + event.target.id + '</div>')
resultElem.innerHTML += ('<div>currentTarget: ' + event.currentTarget.id + '</div>')
},
false
)
document.getElementById('2').dispatchEvent(
new Event('click', { bubbles:true }))
}
<div id="1">1 click me
<div id="2">2 click me as well</div>
</div>
<div id="result">
<div>result:</div>
</div>
クリックした場合:
2 click me as well
次にそれ1
をリッスンし、結果に追加します。
target: 2
currentTarget: 1
その場合:
2
イベントを発生させた要素です1
イベントをリッスンした要素です
クリックした場合:
1 click me
代わりに、結果は次のようになります。
target: 1
currentTarget: 1
Chromium 71 でテスト済み。
于 2016-06-01T20:27:56.267 に答える
27
これが固執しない場合は、これを試してください:
current inは現在をcurrentTarget
指します。他の場所から発生したイベントをキャッチした最新のターゲットです。
于 2016-05-02T21:49:28.647 に答える