首页 > Web开发 > 详细

js高级

时间:2019-03-04 20:51:25      阅读:150      评论:0      收藏:0      [点我收藏+]

事件委托:

利用事件冒泡,减少代码。其中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的左边距离

js高级

原文:https://www.cnblogs.com/aaaaap/p/10472987.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!