【发布时间】:2010-06-07 13:22:21
【问题描述】:
我有两个字段,一个文本框和一个 Div 元素。 我有文本框的 onblur 事件和 div 元素的 onclick 事件。 当我单击 div 元素时,会发生文本框的 onblur 事件,而不是 div 元素的 onclick 事件。当我点击 div 元素时如何抑制 onblur 事件
提前致谢
【问题讨论】:
-
onblur后是否发生点击事件?
我有两个字段,一个文本框和一个 Div 元素。 我有文本框的 onblur 事件和 div 元素的 onclick 事件。 当我单击 div 元素时,会发生文本框的 onblur 事件,而不是 div 元素的 onclick 事件。当我点击 div 元素时如何抑制 onblur 事件
提前致谢
【问题讨论】:
尝试使用 semafore。
如果点击事件被触发,将 semafore 设置为 true 并检查 blur 事件调用中的值。如果为真 - 不执行该操作。
成功执行 click 事件后,将 semafore 重置为 false。
【讨论】:
我不确定您要做什么,是否正确。 但这将通过使用名为“f”的标志来解决您的问题:
<head>
<script type="text/javascript">
var f = 0;
function f1() {
if (f == 0)
alert('blur');
}
function f2() {
alert('click');
}
function f3() {
f = 1;
}
function f4() {
f = 0;
}
</script>
</head>
<body>
<input type="text" onblur="f1();" />
<div onclick="f2();" onmouseover="f3();" onmouseout="f4();">
Click Me!
</div>
</body>
祝你好运!
【讨论】: