3

mouseenter<li>イベントからターゲット (要素)を取得しようとしましたが、これまでのところうまくいきません!

コード:

<ul id="ul">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
</ul>

<script>
    var ul = document.getElementById('ul');

    ul.onmouseenter = function(e) {
        console.log(e.target);
    };
</script>

残念ながら、コンソールは<ul />要素を出力し続けます。助言がありますか?

4

2 に答える 2

6

これは、onmouseenterイベントが「バブリング」イベントではないため、UL要素のようにネストされた要素に入ったときではなく、要素に入ったときにのみ発生するためLIです。

したがって、要素e.targetthis要素は両方とも になりますUL

代わりに使用onmouseoverすると、バブルが発生するため、要素を入力するときにが取得LIされます。e.targetLI

于 2013-10-16T04:36:19.657 に答える
1

次のように、対象となる li を取得できます。

function getEventTarget(e) {
    e = e || window.event;
    return e.target || e.srcElement; 
}

var ul = document.getElementById('ul');
ul.onclick= function(event) {
    var target = getEventTarget(event);
    console.log(target.innerHTML);
};
于 2013-10-16T04:38:24.790 に答える