决议照样继承写博客,纪录事情进修中碰到的题目,每天晚上对进修和碰到的题目举行总结。
1.DOM事宜
1.HTML事宜处置惩罚顺序
2.DOM的0级事宜(把一个函数函数赋值给一个事宜处置惩罚顺序属性)element.onclick(function(){})
3.DOM的二级事宜(element.addEventListener(type,fn,false),
(false增加到冒泡阶段)、 element.attachEvent(type,fn,false)
)
2.封装一个对象兼容种种浏览器
var EventUtil = {
addEvent: function (element, type, fn) {
if (element.addEventListener) {
element.addEventListener(type, fn, false);
} else if (element.attachEvent) {
element.attachEvent('on' + type, fn); //兼容IE
} else {
element['on' + type] = fn; //DOM的0级
}
},
removeEvent: function (element, type, fn) {
if (element.removeEventListener) {
element.removeEventListener(type, fn, false);
} else if (element.detachEvent) {
element.detachEvent('on' + type, fn);
} else {
element['on' + type] = null;
}
}
}
3.小例子
HTML构造
<div id="box">
<input type="button" value="按钮0" id="btn0">
</div>
JS代码
我们现在给这个按钮增加事宜
//随意写一个函数,假定触发这个按钮的点击事宜后,会挪用这个函数
function showMsg(event) {
alert(event.target.nodeName); //会把绑定这个事宜的标签的名字显示出来
event.stopPropagation(); //阻挠冒泡
event.preventDefault(); //阻挠默许行动
}
//猎取这个按钮
var btn0 = document.getElementById('btn0');
//挪用上面写的封装的函数绑定事宜
EventUtil.addEvent(btn0, 'click', showMsg);
4.总结
主如果回忆了一下DOM事宜,背面又做了两个小演习
1.封装事宜处置惩罚
2.event事宜对象