事件
2019-03-07 本文已影响3人
merrylmr

事件:
Javascript与HTML之间的交互是通过事件实现的。事件,就是文档或者浏览器窗口中发生的一些特定的交互瞬间。
事件流:
描述的是从页面中接收事件的顺序。
事件处理器:
响应某一个事件的函数
- DOM0级事件处理程序:
var btn=document.getElementById('myBtn');
btn.onClick=fn;
- DOM2级事件处理程序:
btn.addEventListener('click',fn,false)
btn.removeEventListener('click',fn,false)
使用 DOM2 级方法添加事件处理程序的主要好处是可以添加多个事件处理程序
事件对象:
eventPhase :1.表示捕获阶段2:目标对象3:表示冒泡
跨浏览器事件
var EventUtil = {
addHander: function (element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false)
} else if (element.attachEvent) {
element.attachEvent('on' + type, handler)
}
else {
event['on' + type] = handler
}
},
removeHandler: function (element, type, handler) {
if (element.removeEventListener) {
element.removeEventListener(type, handler, false)
} else if (element.detachEvent) {
element.detachEvent('on' + type, handler)
}
else {
event['on' + type] = null
}
},
getEvent: function (event) {
return event || window.event
},
getTarget: function (event) {
return event.target || event.srcElement
},
preventDefault: function (event) {
if (event.preventDefault) {
event.preventDefault()
} else {
event.returnValue = false
}
},
stopPropagation: function (event) {
if (event.stopPropagation) {
event.stopPropagation()
} else {
event.cancelBubble = true
}
}
}