【问题标题】:jQuery how to make click handler always reference the parent?jQuery如何使点击处理程序始终引用父级?
【发布时间】:2014-08-10 00:06:31
【问题描述】:

假设我有一个像这样的简单父节点和子节点:

<div id="parent">
    <span id="child">Test</span>
<div>

我有一个像这样的 jQuery 点击处理程序:

$('#parent').click(function (e) {
   alert(e.target.id);
});

如果我点击文本跨度,我会收到警报“孩子”。如果我在跨度之外但在父 div 内单击,我会收到警报“父”。

如果我想将行为更改为,我需要做什么:如果我单击父 div 中的任意位置,无论它是否在文本跨度上,我都希望将 e.target 引用到父级,并且从而得到'父母'的警报?

【问题讨论】:

    标签: javascript jquery html click


    【解决方案1】:

    您可以使用this 关键字(this.id)或读取event 对象的currentTarget 属性,即。 e.currentTarget.id.

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多