【问题标题】:jQuery Event.Target for caller's referencejQuery Event.Target 供调用者参考
【发布时间】:2011-04-19 14:08:12
【问题描述】:

我不知道我是否忘记了如何执行此操作,或者这是一个错误,但我只是无法在使用 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。

【问题讨论】:

    标签: javascript jquery events jquery-events delegation


    【解决方案1】:

    这是因为您正在发出警报,所以您看到了字符串表示形式(因为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 并不总是相同的,如果点击来自子元素,它们会有所不同。

    【讨论】:

    • 好吧,我看到它一直在工作......但是,我最初尝试做的是以下内容:$(e.target).closest('dl'),这是仍然失败。
    猜你喜欢
    • 1970-01-01
    • 2016-12-15
    • 2016-06-26
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多