码迷,mamicode.com
首页 > Web开发 > 详细

JS 事件

时间:2019-01-24 17:16:04      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:bubuko   top   冒泡   str   lower   ima   键盘事件   div   bsp   

给元素注册事件(事件绑定)

事件源.on事件类型 = 事件处理程序

事件监听

事件目标.addEventListener(事件类型,事件处理程序,是否捕获);

btn.addEventListener(‘click‘, function () {
    box.style.width = ‘500px‘;
});

事件监听移除元素事件程序

事件目标.removeEventListener(事件类型,事件处理程序名称);

btn.removeEventListener(‘click‘,fn2);

 

事件流

技术分享图片

事件冒泡

现象:从目标阶段向document传递

 

事件对象

公共属性

事件对象.type

?作用:获取当前的事件名

document.onclick = function (e) {
    // 查看当前的事件类型
    console.log(_e.type);  // click
}

事件对象.target

作用:获取事件目标里最先触发的元素

 

事件对象.preventDefalt()

作用:阻止事件默认行为的执行

var link = document.getElementById(‘link‘);
    link.onclick = function (e) {
        alert(‘执行了‘);
        // 阻止默认行为
        e.preventDefault(); // 可以用return false 代替
    };

事件对象.stopPropagation()

作用:停止冒泡

鼠标事件对象的属性

事件对象.clientX / 事件对象.clientY

作用:鼠标在浏览器可视区域中的坐标

    document.onclick = function (e) {
      // 获取鼠标在浏览器可视区域中的坐标
      alert(‘x:‘ + e.clientX + ‘,y:‘ + e.clientY);
    }

事件对象.offsetX / 事件对象.offsetY

?作用:获取鼠标在指定的元素的区域中的坐标

事件对象.pageX / 事件对象.pageY

作用:获取鼠标在整个文档区域中的坐标

 

键盘事件对象的属性

.ctrlKey

.shiftKey

.altKey

.keyCode

 

事件委托(事件代理)

      // 获取div元素
    var divNode = document.getElementById(‘box‘);
    divNode.onclick = function(e){
      // 获取最先触发的元素节点
      var node = e.target;
      // 节点对象.tagName  获取节点对象对应的标签名 返回的是大写node.tagName.toLowerCase()
      if(node.tagName.toLowerCase()==‘p‘){
        alert(node.innerHTML);
      }
    }

 

JS 事件

标签:bubuko   top   冒泡   str   lower   ima   键盘事件   div   bsp   

原文地址:https://www.cnblogs.com/houfee/p/10315325.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!