阻止事件默认行为和事件委托

阻止事件默认行为

  • 默认行为:
    • 有很多标签默认是有事件的,例如 a标签,他默认也有点击事件,点击事件的效果是跳转
    • 我们把它这种默认具备的事件触发的行为,称之为事件默认行为
    • 可是很多时候我不需要触发它的默认行为
  • 阻止事件默认行为
事件对象.preventDefault()

事件委托

  • 是指把需要给子元素添加的事件,委托给父元素来触发
  • 如果多个子元素要加事件,而且还要保证动态添加的子元素有事件,一定要用事件委托更方便
    • 因为这种情况如果不用事件委托,会浪费内存,且动态添加的子元素默认不会有事件
  • 事件委托语法
父元素.addEventListener('事件名', function (e) {
    
    if (e.target.tagName == 'LI') {
        
        // 写事件要做的代码
    }
})
  • 原理:利用了事件冒泡默认存在,所以不管是哪个子元素触发都会冒泡到父元素
  • 但是很多时候我又不希望所有子元素都能触发,所以在父元素上还会做判断,判断是不是我们想要触发的元素来触发的
  • 知识点:
    • e.target:获取的是真正触发事件的元素
    • tagName:获取的是大写的标签名

版权声明:本文为gaoyan426926原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。