DOM ------ 常见鼠标事件

简介: DOM ------ 常见鼠标事件

禁用右键菜单 & 禁止选中文字

1.contextmenu 禁用右键菜单

2.selectstart 禁止选中文字

    这是一段不能复制的文字,且禁用了右键菜单
    //js代码
    // 1. contextmenu 禁用右键菜单
        document.addEventListener('contextmenu', function(e){
            e.preventDefault()
        })
        // 2. selectstart 禁止选中文字 
        document.addEventListener('selectstart', function(e){
            e.preventDefault()
        })

鼠标的坐标位置

1.client: 鼠标在可视区的 x 和 y 坐标

2.page: 鼠标在页面文档的 x 和 y 坐标

3.screen: 鼠标在电脑屏幕的 x 和 y 坐标


client 和 page 的区别:

client: 以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化.

page: 以页面为参考点,不随滑动条移动而变化

    //css代码
    body{
            height: 3000px;
        }
    //js代码
    document.addEventListener('click', function(e){
          // 1.client 鼠标在可视区的x和y坐标
          console.log(e.clientX);
          console.log(e.clientY);
          console.log('-------------');
          // 2.page 鼠标在页面文档的x和y坐标
          console.log(e.pageX);
          console.log(e.pageY);
          console.log('-------------');
          // 3.screen 鼠标在电脑屏幕的x和y坐标
          console.log(e.screenX);
          console.log(e.screenY);
        })

跟随鼠标移动效果

鼠标上绑定一个图片,实现图片跟着鼠标走

核心原理: 每次鼠标移动 我们都会获得最新的鼠标坐标 把这个x和y坐标做为图片的top和left值 就可以移动图片

    //css代码
    img{
            position: absolute;
        }
        //html代码
        <img src="图片.png">
        //js代码
        var pic = document.querySelector('img')
        document.addEventListener('mousemove', function(e){
            // 1.mousemove 只要我们鼠标移动 就会触发这个事件
            // 2.核心原理: 每次鼠标移动 我们都会获得最新的鼠标坐标 把这个x和y坐标做为图片的top和left值 就可以移动图片
            var x = e.pageX
            var y = e.pageY
            // 3.不要忘记给坐标加px像素
            pic.style.left = x-20 + 'px'
            pic.style.top = y-20 + 'px'
        })

常用键盘事件

  1. keyup: 按键 抬起 的时候触发
  2. keydown: 按键 按下 的时候触发
  3. keypress: 按键 按下 的时候触发, 不识别 功能按键 ctrl shift 等
  4. 三个事件的 执行顺序 : keydown – keypress – keyup
    // 1.keyup 按键抬起的时候触发
        document.addEventListener('keyup', function(){
            console.log('键盘已弹起!');
        })
        // 2.keydown 按键按下的时候触发
        document.addEventListener('keydown', function(){
            console.log('键盘按下了down!');
        })
        // 3.keypress 按键按下的时候触发  不识别功能键 ctrl shift等
        document.addEventListener('keypress', function(){
            console.log('键盘按下了press!');
        })

keyCode判断键盘按下的哪个键

利用keyCode返回的ASCII码值来判断按下了哪个键

注意

keyup 和 keydown 事件不区分字母大小写, a 和 A 得到的都是65

keypress 事件区分字母大小写 a 97 和 A 65

    //js代码
    document.addEventListener('keyup', function(e){
      console.log('keyup' + e.keyCode);
      if(e.keyCode === 65){
        alert('按下了a') //A a 65
      }else{
        alert('没有按下a')
      }
    })
    document.addEventListener('keypress', function(e){
            console.log('press' + e.keyCode); //A 65 a 97
        })
        //先执行的 keypress 后执行的 keyup
        //keydown -- keypress -- keyup

不积跬步无以至千里 不积小流无以成江海

相关文章
|
JavaScript 前端开发
史上最详细的DOM事件之鼠标事件
史上最详细的DOM事件之鼠标事件 说到JavaScript的DOM,不得不提的就是DOM事件,当然DOM中事件包含好多,我们先来讲一讲DOM的鼠标事件。 HTMl代码: &lt;h1&gt;01DOM的鼠标事件&lt;/h1&gt; &lt;div id=&quot;wrap&quot;&gt; &lt;div class=&quot;box&quot;&gt;onclick&lt;/div&gt; &lt;div class=&quot;box&quot;&gt;oncontextmenu&lt;/div&gt; &lt;div class=&quot;box&quot;&gt;ondblclick&lt;/div&gt; &lt;div class=&quot;box&quot;&gt;onmousedown&lt;/div&gt; &lt;div class
|
1月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
22天前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
22天前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
|
1月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
1月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)