e的兼容
function fn(e){
var event = e || window.event;
}
FireFox
里的Event
跟IE
里的不同,IE
里的是全局变量,随时可用。FireFox
里的要用参数引导才能用,是运行时的临时变量
在IE/Opera
中是window.event
,在FireFox
中是event
。而事件的对象,在IE
中是window.event.srcElement
,在Firefox中是event.target
,Opera
中两者都可用
阻止事件冒泡
W3C
的方法是e.stopPropagation()
,IE
则是使用e.cancelBubble = true
stopPropagation
是事件对象Event
的一个方法,作用是阻止目标元素的冒泡事件
,但是不会阻止默认行为
什么是冒泡事件?如在一个按钮是绑定一个click
事件,那么click
事件会依次在它的父级元素中被触发,stopPropagation
就是阻止目标元素的事件冒泡到父级元素
了解更多请点这:理解DOM中的事件流
阻止事件冒泡兼容:
function stopPropagation(e) {
var e = e || window.event;
if ( e && e.stopPropagation ){
e.stopPropagation();
}else{
e.cancelBubble = true;
}
}
阻止浏览器默认行为
W3C
的方法是e.preventDefault()
,IE
则是使用e.returnValue = false
preventDefault
是事件对象Event
的一个方法,作用是取消一个目标元素的默认行为。如果元素没有默认行为,调用无效。什么元素有默认行为呢?如链接<a href="xxx">点我</a>
,提交按钮<input type=”submit”>
等
return false:JS
的return false
只会阻止默认行为,而jQuery
则既阻止默认行为又防止对象冒泡
阻止浏览器默认行为兼容:
function stopDefault(e) {
var e = e || window.event;
if (e && e.preventDefault){
e.preventDefault();
}else{
e.returnValue = false;
}
return false;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。