补充:事件委托
理解:是把我要做的事情委托给别人来做
因为我们的冒泡机制,点击子元素的时候,也会同步触发父元素的相同事件 。我们就可以把子元素的事件委托给父元素来做【运用冒泡思想】
target
target 这个属性是事件对象里面的属性,表示你点击的目标
var oUl = docuemnt.querySelector('ul')
oUl.addEventListener('click', function (e) {
//事件监听
e = e || window.event
var target = e.target || e.srcElement //事件目标
// 判断你点击的是 li
if (target.nodeName.toUpperCase === 'LI') {
// 确定点击的是 li
// 因为当你点击在 ul 上面的时候,nodeName 应该是 'UL'
// 去做点击 li 的时候该做的事情了
console.log('我是 li,我被点击了')
}
})
二、鼠标事件对象下的属性
第一对:
pageX pageY
跟页面有关 距离实际的页面。【滚动条也包含被卷去的宽高】
第二对
clientX:
当鼠标事件发生时(不管是onclick,还是omousemove,onmouseover等),鼠标相对于浏览器(这里说的是浏览器的有效区域)x轴的位置;
clientY:
当鼠标事件发生时,鼠标相对于浏览器(这里说的是浏览器的有效区域)y轴的位置;
第三队
offsetWidth
:获取元素的宽
offsetHeight
:获取元素的高
offsetLeft:
获取元素距离左边位置的值
offsetTop:
获取元素距离上面位置的值