我不知道我是否忘记了如何操作或者是否是一个错误,但我无法使用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。
答案 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,请注意this
和e.target
并不总是相同,如果点击来自子元素,它们就会不同。