1

我不知道我是否忘记了如何这样做或者它是否是一个错误,但我只是无法在使用 jQuery 的“点击”事件中找到调用者的引用。

我正在执行以下操作:


$(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 属性(页面 URL + '#')。
难道我做错了什么?

注意: 使用 jQuery 1.4.2。

4

1 回答 1

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

你可以在这里试一试/玩它this,注意e.target并不总是相同的,如果点击来自子元素,它们会有所不同。

于 2010-09-30T21:07:36.640 回答