我有一个html表。我在该表的每一行都有点击事件。我每行有4个项目,下拉列表中有最后一个项目。我想在点击下拉项目时阻止行点击,反之亦然。
<tr onclick="doSomething()">
<td>text</td>
<td>text</td>
<td>text</td>
<td onclick="doSomethingElse()">
<!-- drop down elements -->
</td>
</tr>
我对preventDefault()有所了解;但不知道如何在这里使用它。
答案 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"