如何点击包含点击事件的元素下的按钮

时间:2017-04-11 11:45:09

标签: javascript html css

我有一个html表。我在该表的每一行都有点击事件。我每行有4个项目,下拉列表中有最后一个项目。我想在点击下拉项目时阻止行点击,反之亦然。

<tr onclick="doSomething()">
  <td>text</td>
  <td>text</td>
  <td>text</td>
  <td onclick="doSomethingElse()">
    <!-- drop down elements -->
  </td>
</tr>

我对preventDefault()有所了解;但不知道如何在这里使用它。

3 个答案:

答案 0 :(得分:2)

这里不需要preventDefault。您可以使用CurrentNumberScrapesMax

轻松实现它
stopPropogation()

希望它有所帮助。

答案 1 :(得分:2)

您可以将事件作为doSomething函数中的一个参数传递,然后检查事件目标是否为父元素。见这个例子

function doSomething(e) {
    if(e.target == document.getElementById('father')) {
        //do stuff
    }
};

然后在HTML中你只需要将事件参数添加到javascript函数中。

<tr id="father" onclick="doSomething(event)">
  <td>text</td>
  <td>text</td>
  <td>text</td>
  <td id="son" onclick="doSomethingElse(event)">
    <!-- drop down elements -->
  </td>
</tr>

答案 2 :(得分:1)

您需要查找e.target或事件目标函数

function somefunction(e) {
  var target = e.target || e.srcElement;
  target.style.display= 'block';
}

您可能需要的其他东西

var target = event.target;
var parent = target.parentElement;//parent of "target"