Javascript 在下拉选择中停止 TR 点击事件|不适用于 IE 11
Javascript stop TR click event on dropdown selection| Not working in IE 11
我想捕获从下拉列表中select编辑的选项。
这里的问题是当 option
被点击时 TR
点击事件被调用,因为 select 没有点击事件。
单击 dropdown
时如何停止 TR
单击事件?
function check1(e) {
if (typeof e == "undefined")
e = window.event;
if (e) {
var sourceElement = e.srcElement || e.target;
if (sourceElement) {
if (sourceElement.getAttribute("data-stop-propagation")) {
//element being clicked asked to ignore the event, abort
return;
}
}
}
alert("TR clicked");
}
function check2() {
alert("drop_down clicked");
}
<table border=1>
<tr onclick="check1();">
<td>My Options</td>
<td>
<select name="" id="drop_down" onchange="check2();" data-stop-propagation="1">
<option value="A">A</option>
<option value="B">B</option>
</select>
</td>
</tr>
</table>
稍微回顾一下,select.click
在 tr.click
之前执行,tr.click
在 select.change
事件之前执行。为什么不在单击 select 时停止传播?
function check1() {
alert("TR clicked");
}
function check2() {
alert("drop_down clicked");
}
function stopPropagation() {
event.stopPropagation();
};
<table border=1>
<tr onclick="check1();">
<td>My Options</td>
<td>
<select name="" id="drop_down" onclick="stopPropagation();" onchange="check2();" data-stop-propagation="1">
<option value="A">A</option>
<option value="B">B</option>
</select>
</td>
</tr>
</table>
我想捕获从下拉列表中select编辑的选项。
这里的问题是当 option
被点击时 TR
点击事件被调用,因为 select 没有点击事件。
单击 dropdown
时如何停止 TR
单击事件?
function check1(e) {
if (typeof e == "undefined")
e = window.event;
if (e) {
var sourceElement = e.srcElement || e.target;
if (sourceElement) {
if (sourceElement.getAttribute("data-stop-propagation")) {
//element being clicked asked to ignore the event, abort
return;
}
}
}
alert("TR clicked");
}
function check2() {
alert("drop_down clicked");
}
<table border=1>
<tr onclick="check1();">
<td>My Options</td>
<td>
<select name="" id="drop_down" onchange="check2();" data-stop-propagation="1">
<option value="A">A</option>
<option value="B">B</option>
</select>
</td>
</tr>
</table>
稍微回顾一下,select.click
在 tr.click
之前执行,tr.click
在 select.change
事件之前执行。为什么不在单击 select 时停止传播?
function check1() {
alert("TR clicked");
}
function check2() {
alert("drop_down clicked");
}
function stopPropagation() {
event.stopPropagation();
};
<table border=1>
<tr onclick="check1();">
<td>My Options</td>
<td>
<select name="" id="drop_down" onclick="stopPropagation();" onchange="check2();" data-stop-propagation="1">
<option value="A">A</option>
<option value="B">B</option>
</select>
</td>
</tr>
</table>