相关疑难解决方法(0)

为什么Event Object中存在细微的跨浏览器差异

窗口级别的以下声明:

    var event; // for IE
    var event = "anything"; // for Chrome

将销毁此处使用的事件对象:

    <div onMouseOver = "alert(event.type);">Mouseover Div</div>

两个声明似乎都没有逐步实现Firefox.

我意识到声明一个名为"event"的变量是错误的代码,但我对这里的技术差异感到好奇,例如,在IE中使用var会将变量重新初始化为null,而Chrome不会使用var声明覆盖,除非值是显式赋值的,并且FF可能会将事件对象完全保存在窗口的var声明范围之外.

这更像是一种好奇心.我在我控制之外的网站上遇到了一个由此造成的错误,我看到的越多,我看到浏览器之间的细微差别.只是想知道是否有人在这里有任何见解.

javascript events dom cross-browser dom-events

4
推荐指数
2
解决办法
2456
查看次数

“div”中的“input”:如何为“div”注册“onclick”事件侦听器,而不是为“input”注册

我有一个div元素,里面有一个input元素。我想在单击div. 它工作正常,但问题是:input也检测到“点击” ,我不想。

document.getElementById("foo").addEventListener('click', function(event) {
  alert();
  event.stopPropagation();
})
Run Code Online (Sandbox Code Playgroud)
div {
  width: 300px;
  height: 300px;
  background-color: red;
}
Run Code Online (Sandbox Code Playgroud)
<div id="foo">
<input>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript

0
推荐指数
1
解决办法
985
查看次数

标签 统计

javascript ×2

cross-browser ×1

dom ×1

dom-events ×1

events ×1