窗口级别的以下声明:
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声明范围之外.
这更像是一种好奇心.我在我控制之外的网站上遇到了一个由此造成的错误,我看到的越多,我看到浏览器之间的细微差别.只是想知道是否有人在这里有任何见解.
我有一个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)