event.target没有提供所需的输出

时间:2012-05-18 12:23:52

标签: javascript jquery html

我的代码是

<div id="hello">
<div>A</div></div>
<script>
$(function(){
$(document).mousedown(function(event){alert(event.target.id);});
});</script>

现在当我点击div id&#34;你好&#34;它正在警告null,因为它正在取中心div的id,但我想要外部div的id。如何实现?

4 个答案:

答案 0 :(得分:3)

因为目标是最里面的div

try this instead

event.target.parentNode.id

答案 1 :(得分:1)

尝试稍微更改您的代码:

<div id="hello">
<div>A</div></div>
<script>

$(function(){
    //You can change the selector to what suits you best here
    $("body>div").mousedown(function(event){alert(event.currentTarget.id);});

    //it is safer to use currentTarget when you have nested elements
});</script>

答案 2 :(得分:0)

使用event.target.parentNode.id

答案 3 :(得分:0)

您应该将事件绑定到您感兴趣的div。在您的情况下,您应该将其绑定到$('#hello')

如果您有多个div想要将该事件绑定,请为它们添加一个类,并将mousedown事件绑定到该类,并在回调函数中检查event.target的id。