兼容方式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>外观模式-兼容方式</title>
</head>
<body>
<script>
function addEvent(dom, type, fn) {
if (dom.addEventListener) {
dom.addEventListener(type, fn, false);
}
else if (dom.attachEvent) {
dom.attachEvent('on' + type, fn);
}
else {
dom['on' + type] = fn;
}
}
window.onload = function() {
var myInpu = document.getElementById("myinput");
addEvent(myInpu,
'click',
function() {
console.log("绑定第一个事件!");
});
addEvent(myInpu,
'click',
function() {
console.log("绑定第二个事件!");
});
addEvent(myInpu,
'click',
function() {
console.log("绑定第三个事件!");
});
}
</script>
<button id="myinput">点击我</button>
</body>
</html>
阻止默认行为-兼容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>阻止默认行为-兼容模式</title>
</head>
<body>
<script>
var getEvent = function(event) {
return event || window.event;
}
var getTarget = function(event) {
var event = getEvent(event);
return event.target || event.srcElement;
}
var preventDefault = function(event) {
var event = getEvent(event);
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false;
}
}
document.onclick = function(e) {
preventDefault(e);
if (getTarget(e) !== document.getElementById("myinput")) {
console.log("点击事件!");
}
}
</script>
<button id="myinput">myinput</button>
<button id="myinput2">myinput2</button>
</body>
</html>
简约版属性样式方法库
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>简约版属性样式方法库</title>
</head>
<body>
<script>
var A = {
g: function(id) {
return document.getElementById(id);
},
css: function(id, key, value) {
var style = document.getElementById(id).style;
style[key] = value;
},
attr: function(id, key, value) {
document.getElementById(id)[key] = value;
},
html: function(id, html) {
document.getElementById(id).innerHTML = html;
},
on: function(id, type, fn) {
document.getElementById(id)['on' + type] = fn;
}
}
window.onload = function() {
A.css('box', 'background', 'red');
A.attr('box', 'className', 'box');
A.html('box', '这是新添加的内容');
A.on('box',
'click',
function() {
A.css('box', 'width', '500px');
});
}
</script>
<div id="box" style="border: 1px solid; width: 200px; height: 200px"></div>
</body>
</html>