单击子输入时单击侦听器

时间:2015-11-02 15:48:38

标签: javascript angularjs

我将此答案标记为angularjs,因为我使用的是角度,但也许这是一个通用的JavaScript问题。

我有一个表,可以通过单击每一行来选择哪些行。每行的每个单元格都包含交互式元素,如链接,按钮和输入字段。问题是,当我单击行中包含的任何元素时,click事件会冒泡并到达行单击侦听器,然后该行被选中。

我目前的解决方法是检查触发事件的元素名称,如果不是行,则忽略它。

  var target = e.target || e.currentTarget;
  if (/button|input|^a$|select/i.test(target.nodeName) || /glyphicon/i.test(target.className)) {
        // Only reacth if the click does not comes from a button or an input
        console.log(e)
        return
      }

我正在安装事件监听器的方式是使用ng-click="switchSelected($index,$event)"

应该有一个更好的方法。我不知道是否可以将它限制为被点击的元素,但我也不希望这样,因为如果他们点击一个空白空间,我希望该行被选中。

此致

0 个答案:

没有答案