-
Notifications
You must be signed in to change notification settings - Fork 0
/
demo9.js
61 lines (50 loc) · 1.45 KB
/
demo9.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/**
* Created by Administrator on 2017/8/28 0028.
*/
//外观模式,为一组复杂的子系统接口提供一个更高级的统一接口,通过这个借口使得对子系统借口的
//访问更容易。
//添加一个点击事件
document.onclick = function(e){
e.preventDefault();
var box = document.getElementById("myInput")
if(e.target == box ){
hidePageAlert(box)
}
}
function hidePageAlert(target){
target.style.display = "none";
console.log("我被隐藏了")
}
//’onclick‘是DMO0级事件,容易被覆盖
//因此得使用DOM2级事件,addEventListener来实现
//而老版本的IE(<9)不支持这个,得使用attachEvent;
//绑定事件的外观模式
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;
}
}
//获取事件对象
var getEvent = function(e){
//标准浏览器下返回event,IE下window.event
return event || window.event;
}
//获取元素
var target = function(event){
var event = getEvent(event);
//标准浏览器下返回event.target,IE下面event.srcElement
return event.target || event.srcElement
}
//阻止默认行为
var preventDefault = function(e){
var event = getEvent(event);
if(event.preventDefault){
event.preventDefault()
}else{
event.returnValue = false;
}
}