一つのことがあるの代わりに割り当てる:
はここに私の問題を示す優れた例です...私は、これは本当の初心者の質問であると確信しているが、私はまだそれを考え出したていませんイベントハンドラを
div
に割り当てると、親にハンドラを1つ割り当てて、イベントターゲットに基づいて
div
がマウスオーバーしたかどうかを取得することができます。
HTML:
<div id="parent">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
Javascriptを:
document.getElementById('parent').onmouseover = function(e) {
var target = e.target || e.currentTarget;
alert('Target ' + target.innerHTML + ' was moused over');
};
フィドル:他人としてhttp://jsfiddle.net/ZhpLA/
が、これはあなたが必要とするすべての場合にjQueryのにもかかわらず、(これはわずかに少ないコードを持っています指摘していますそれは無意味だろう):
$('#parent').on('mouseover', 'div', function(e) {
alert('Target ' + e.currentTarget.innerHTML + ' was moused over');
});
上記のjQueryコードの利点は、現在との将来の子div
の#parent
の両方に適用されるということです。プログラム的に追加する場合は、mouseover
イベントを引き続き使用することができます。私はあなたがそれがparent.innerHTML = parent.innerHTML + ...
と同等である知っていると確信しているが、.innerHTML
プロパティが(文字列としてHTMLを返したよう
parent.innerHTML += "<div> " + i + "</div>"
:
あなたの割り当ては、A}最後に欠けています。 – alexn
'jquery'を試してみてください。 – Vyktor
ありがとうalexn、修正されました。 – user313724