Javascript 如何单击具有click事件的元素下的按钮
我有一个html表格。我在该表的每一行上都有一个click事件。我每行有4个项目,最后一个项目在下拉列表中。我希望在单击下拉项时防止行单击,反之亦然Javascript 如何单击具有click事件的元素下的按钮,javascript,html,css,Javascript,Html,Css,我有一个html表格。我在该表的每一行上都有一个click事件。我每行有4个项目,最后一个项目在下拉列表中。我希望在单击下拉项时防止行单击,反之亦然 <tr onclick="doSomething()"> <td>text</td> <td>text</td> <td>text</td> <td onclick="doSomethingElse()"> <!-- dro
<tr onclick="doSomething()">
<td>text</td>
<td>text</td>
<td>text</td>
<td onclick="doSomethingElse()">
<!-- drop down elements -->
</td>
</tr>
文本
文本
文本
我知道一些关于你的事;但是不知道如何在这里使用它。您需要查找e.target或Event-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"
您需要查找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"
这里不需要默认值。使用
stopPropogation()
文本
文本
文本
希望有帮助。这里不需要默认值。使用
stopPropogation()
文本
文本
文本
希望有帮助。您可以将事件作为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>
文本
文本
文本
您可以将事件作为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>
文本
文本
文本
你试过玩z-index吗?也就是event.stopPropagation()代码>?是的,但它不起作用。为td onclick()指定更大的z索引值z索引无效。这是一件大事。检查我下面的答案。你试过玩z-index吗?那就是event.stopPropagation()代码>?是的,但它不起作用。为td onclick()指定更大的z索引值z索引无效。这是一件大事。检查我下面的答案。不,这是错误的解决方法。首先,你不应该进入somefunction
。不,这是解决这个问题的错误方法。首先,你不应该进入somefunction
。