js事件

鼠标事件(Mouse Events)

  • 1 onclick 点击事件
    onclick 属性在单击鼠标时触发。
    document.onclick = function(){
            console.log('单击了');
        }

不能应用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。


  • 2 ondblclick 双击事件
    ondblclick 属性在元素上双击鼠标时触发。
    document.ondblclick = function(){
            console.log('双击了');
        }

不能使用于以下元素: <base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。


  • 3 onmouseover 鼠标移动到HTML元素上方的事件
    onmouseover 属性在鼠标指针移至元素之上时触发。
    box.onmouseover = function(){ //对应的子元素也触发
            console.log('over移进');
        }

不能使用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。


  • 4 onmouseout 鼠标移出HTML元素上方的事件
    onmouseout 属性在鼠标指针移除元素时触发。
     box.onmouseout = function(){ //对应的子元素也可以触发
            console.log('out移出');
        }

不能使用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。


  • 5 onmouseenter 鼠标移动到HTML元素上方的事件
    onmouseenter 事件在鼠标指针移动到元素上时触发。
    box.onmouseenter = function(){ //只有自己能触发
            console.log('enter移进');
        }
**提示**: 该事件通常与 onmouseleave 事件一同使用, 在鼠标指针移出元素上时触发。

**提示**: onmouseenter 事件类似于 onmouseover 事件。 唯一的区别是 onmouseenter 事件不支持冒泡 。

不能使用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。


  • 6 onmouseleave 鼠标移出HTML元素上方的事件
    onmouseleave 事件在鼠标移出元素时触发。。
     box.onmouseleave = function(){ //只有自己能触发
            console.log('leave移出');
        }
**提示**: 该事件通常与 onmouseenter 事件一起使用, 该事件在鼠标移动到元素上时触发。

**提示**: onmouseleave 事件类似于 onmouseout 事件。 唯一的区别是 onmouseleave 事件不支持冒泡 。

不能使用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。



  • 7 onmousedown 鼠标按下的时候触发的事件
    onmousedown 属性在按下鼠标按钮时触发。
      box.onmousedown = function(){
            console.log('按下');
        }
**注意** 
  与 onmousedown 事件相关的事件触发顺序 (左/中鼠标按钮):

    1. onmousedown
    2. onmouseup
    3. onclick
  与 onmousedown 事件相关的事件触发顺序(右边鼠标按钮):

    1. onmousedown
    2. onmouseup
    3. oncontextmenu

不能使用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。



  • 8 onmouseup 鼠标弹起触发的事件(onmousedown,onmouseup和onclick区别,onclick是鼠标完成点击事件的时候触发的事件)
    onmouseup 属性在用户松开鼠标按键时触发
     box.onmouseup = function(){
            console.log('弹起');
        }
**注意** 
  与 onmousedown 事件相关的事件触发顺序 (左/中鼠标按钮):

    1. onmousedown
    2. onmouseup
    3. onclick
  与 onmousedown 事件相关的事件触发顺序(右边鼠标按钮):

    1. onmousedown
    2. onmouseup
    3. oncontextmenu

不能使用于以下元素:<base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或<title>。


  • 9 oncontextmenu 鼠标右键点击
    oncontextmenu 事件在元素中用户右击鼠标时触发并打开上下文菜单。
     //不会触发点击事件
        box.oncontextmenu = function(){
            console.log('右键点击');
        }

  • 10 onmousemove 鼠标移动
    onmousemove 属性在鼠标指针移动到元素时触发。
      box.onmousemove = function(){
            console.log('鼠标移动');
        }

键盘事件(Keyboard Events)

  • 1 onkeydown 键盘按键被按下发生的事件
    onkeydown 属性在用户按下按键(在键盘上)时触发。
       window.onkeydown = function(){
            console.log('键盘按下');
        }

  • 2 onkeyup 键盘按键被松开发生的事件
    onkeyup 事件会在键盘按键被松开时发生
       window.onkeyup = function(){
            console.log('键盘弹起');
        }

  • 3 onkeypress 键盘按键按下并松开发生的事件
    onkeypress 事件会在键盘按键被按下并释放一个键时发生。
       window.onkeypress = function(){
            console.log('字符键按下');
        }
**提示**:onkeydown onkeyup onkeypress 事件相关的事件发生次序:

    1. onkeydown
    2. onkeypress
    3. onkeyup

注意: onkeydown onkeyup onkeypress 属性不能用于以下元素: <base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 或 <title>。

窗口事件属性(Window Event Attributes)

  • 1 onload 用户进入某个页面的时候触发(onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。)
    onload 属性在文档对象加载完成后触发。
    onload 通常使用于 <body> 元素中,用于在页面完全载入后执行指定的脚本(包括图片,脚本,css文件等)。
    window.onload = function(){ //窗口的加载 图片的加载 等等
            console.log('窗口加载');
        }

  • 2 onunload 用户离开某个页面的时候触发(onload 和 onunload 事件可用于处理 cookie。)
    onunload 属性在用户关闭一个页面时触发。
     window.onunload = function(){ //清除对应的内存 销毁
            console.log('窗口卸载');
        }

onunload 在用户离开页面(通过点击链接,提交表单,关闭浏览器窗口等)触发。

注意: 如果你重新载入页面,unload 事件将被触发( onload 事件)。

  • 3 onresize 窗口或者框架被重新调整大小
    onresize 属性在调整窗口大小时触发。
    onresize 属性常用于调整窗口大小。
     window.onresize = function(){
            console.log('窗口大小已改变'); //浏览器窗口改变即打印
        }

表单事件(Form Events)

  • 1 onchange 内容变化事件(常结合对输入字段的验证来使用)
    onchange 事件会在域的内容改变时发生。
      var input = document.querySelector('input')
        input.onchange = function(){ //必须要失去焦点
            console.log('value值变化了');
        }

onchange 事件也可用于单选框与复选框改变后触发的事件。


  • 2 onfocus 元素获取焦点事件
    onfocus 事件在对象获得焦点时发生。
    onfocus 通常用于 <input>, <select>, 和<a>
    onfocus 事件的相反事件为 onblur 事件。
      input.onfocus = function(){
            console.log('获取焦点');
        }

  • 3 onblur 元素失去焦点事件
    onblur 事件会在对象失去焦点时发生。
    onblur 经常用于Javascript验证代码,一般用于表单输入框。
    onblur 相反事件为 onfocus 事件 。
      input.onblur = function(){
            console.log('失去焦点');
        }

  • 4 onselect 文本被选中
    onselect 属性在选取元素文本后触发。
      input.onselect = function(){ //禁止复制粘贴
            console.log('当前内容被选择');
        }

onselect 属性可使用于以下元素: <input type="file">, <input type="password">, <input type="text">, <keygen>, 和 <textarea>。


  • 5 onreset 重置按钮被点击
    onreset 事件在表单被重置后触发。
      document.querySelector('form').onreset = function(){
            console.log('表单重置');
        }

  • 6 onsubmit 提交按钮被点击
    onsubmit 属性在表单提交时触发。
      document.querySelector('form').onsubmit = function(){
            console.log('表单提交');
        }

onsubmit 属性只适用于 <form> 元素。


  • 7 oninput 在input框内输入时
    oninput 事件在用户输入时触发。
    该事件在 <input> 或 <textarea> 元素的值发生改变时触发。
      document.querySelector('input').oninput = function(){
            console.log('内容输入'); //内容框输入时打印
        }

提示: 该事件类似于 onchange 事件。不同之处在于 oninput 事件在元素值发生变化是立即触发, onchange 在元素失去焦点时触发。另外一点不同是 onchange 事件也可以作用于 <keygen> 和 <select> 元素。


版权声明:本文为苏沐原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sumu80/p/16555776.html