事件委托:
利用事件冒泡,减少代码。其中Event对象提供了一个属性叫target,可以返回事件的目标节点,我们成为事件源,也就是说,target就可以表示为当前的事件操作的dom,但是不是真正操作dom,当然,这个是有兼容性的,标准浏览器用ev.target,IE浏览器用event.srcElement,此时只是获取了当前节点的位置,并不知道是什么节点名称,这里我们用nodeName来获取具体是什么标签名,这个返回的是一个大写的,我们需要转成小写再做比较(习惯问题)
获取有id的标签(直接复制OK的):
obj芭比.addEventListener(‘click‘,function(ev){
var event=ev||window.event
// 获得目标节点的兼容写法
var target=event.target||event.srcElement
// console.log(target.getAttributeNode("id").nodeValue)
// 属性节点
// if(target.getAttributeNode("id").nodeValue==‘select‘){
//alert(‘babi‘)
// }
简便写法:
if(target.id==‘select‘){
alert("babi")
}
这是事件冒泡;代码如下从内到外(没毛病)
document.addEventListener("click",function(){
console.log("QQ3")
},false)
body.addEventListener("click",function(){
console.log("QQ2")
},false)
p.addEventListener("click",function(){
console.log("QQ1")
},false)
拖拽
获取必须用绝对定位
首先获取obj的左边距离
原文:https://www.cnblogs.com/aaaaap/p/10472987.html