IE如何处理事件传播,是否有任何方法知道哪个HTML元素当前正在处理该元素?问题是这样的
<div id="someDiv">
<input type="text" id="txtName" onblur="someFunction()">
<img src="/url" id="imgIcon" onclick="someFunction()"/>
</div>
<script>
function someFunction()
{
// Open a popup
}
</script>
现在,当用户在文本框中输入内容并单击imgIcon时,someFunction被调用两次并打开弹出窗口。我应该如何处理这里的事件,以便调用someFunction()只有一次,即,如果它从只有一个事件触发?
你在文本框模糊和点击图像时都调用了这个函数当你点击图像时,它就失去了文本框的焦点所以事件在两个时间都被触发所以你可以检查你需要在两个事件或任何事件上调用它?
你可以检查函数是否被调用,然后不要在javascript中使用布尔变量进一步处理,但这不是一个好的解决方案。