jQuery Event.Target问题

时间:2010-09-30 21:05:51

标签: javascript jquery events javascript-events delegation

我不知道我是否忘记了如何操作或者是否是一个错误,但我无法使用jQuery在“click”事件中找到调用者的引用。

我正在做以下事情:


$(document).ready(function() {
    $('#parent a.item').click(doSomething);
});

function doSomething(e) {
    // Alerts for demostrational purposes only
    alert(e.target);
    alert(e.currentTarget);
    alert(this);
    alert($(this)[0]);
}

所有警报都显示超链接的href属性(页面网址+'#') 我做错了吗?

备注: 使用jQuery 1.4.2。

1 个答案:

答案 0 :(得分:3)

这是因为你正在发出警报,所以你看到了字符串表示(因为alert()取一个字符串)...对于一个锚是href。你可以这样做:

alert(e.target); //or perhaps alert(this.target); - alerts the href
alert(e.target.innerHTML);  //or perhaps alert(this.innerHTML); - alerts the html

You can try it out/play with it here,请注意thise.target并不总是相同,如果点击来自子元素,它们就会不同。

相关问题