事件流javascript
事件处理程序 java
事件对象浏览器
在触发 DOM 上的某个事件时,会产生一个事件对象 event app
//在须要经过一个函数处理多个事件时,可使用 type 属性。 var btn = document.getElementById("myBtn"); var handler = function(event){ switch(event.type){ case "click": alert("Clicked"); break; case "mouseover": event.target.style.backgroundColor = "red"; break; case "mouseout": event.target.style.backgroundColor = ""; break; } }; btn.onclick = handler; btn.onmouseover = handler; btn.onmouseout = handler;
事件类型ide
UI事件函数
EventUtil.addHandler(window, "load", function(){ var image = document.createElement("img"); EventUtil.addHandler(image, "load", function(event){ event = EventUtil.getEvent(event); alert(EventUtil.getTarget(event).src); }); document.body.appendChild(image); image.src = "smile.gif"; }); /新图像元素只要设置了 src 属性就会开始下载。
焦点事件性能
鼠标与滚轮事件spa
键盘与文本事件3d
变更事件code
DOMSubtreeModified :在 DOM 结构中发生任何变化时触发。这个事件在其余任何事件触发后都会触发。
DOMNodeInserted :在一个节点做为子节点被插入到另外一个节点中时触发。
DOMNodeRemoved :在节点从其父节点中被移除时触发。
DOMNodeInsertedIntoDocument :在一个节点被直接插入文档或经过子树间接插入文档以后触发。
这个事件在 DOMNodeInserted 以后触发。
DOMNodeRemovedFromDocument :在一个节点被直接从文档中移除或经过子树间接从文档中移除以前触发。
这个事件在 DOMNodeRemoved 以后触发。
DOMAttrModified :在特性被修改以后触发。
DOMCharacterDataModified :在文本节点的值发生变化时触发。
HTML5事件
EventUtil.addHandler(window, "hashchange", function(event){ alert("Old URL: " + event.oldURL + "\nNew URL: " + event.newURL); }); EventUtil.addHandler(window, "hashchange", function(event){ alert("Current hash: " + location.hash); });
设备事件
触摸与手势事件
内存和性能
事件委托
事件委托利用了事件冒泡,只指定一个事 件处理程序,就能够管理某一类型的全部事件。
移除事件处理程序
空事件处理程序
解决
模拟事件
模拟鼠标事件
模拟键盘事件
模拟其余事件
自定义 DOM事件