获取节点
var btn = document.getElementById("mybtn")
btn.addEventListener("click", test, true)
取消绑定用 remove
jQuery可以同时绑定两种
$("#mybtn").bind("click mouseover", function(){
test()
})
$("#mybtn").bind({
"click": function() {
test1()
},
"mouseover", function(){
test2()
}
})
on 取代 bind
事件委托 / 事件代理(Event Delegation)
让父元素担当事件监听的职务。事件代理的原理是DOM元素的事件冒泡。
e.target 或者 e.srcElement 获取子元素
<ul id="myLinks">
<li id="goSomewhere">Go somewhere</li>
<li id="doSomething">Do something</li>
<li id="sayHi">Say hi</li>
</ul>
var item1 = document.getElementById("goSomewhere");
var item2 = document.getElementById("doSomething");
var item3 = document.getElementById("sayHi");
document.addEventListener("click", function (event) {
var target = event.target;
switch (target.id) {
case "doSomething":
document.title = "事件委托";
break;
case "goSomewhere":
location.href = "http://www.baidu.com";
break;
case "sayHi": alert("hi");
break;
}
})
jQuery事件delegate()实现事件委托
$(document).ready(function () {
$("#myLinks").delegate("#goSomewhere", "click", function () {
location.href = "http://www.baidu.com";
});
});
事件分发
$(".box2").on("click" ".comment_deletel", function(){
delContent(this)
})