首页 > 编程语言 >Javascript进阶笔记 - 常用事件

Javascript进阶笔记 - 常用事件

时间:2022-11-02 05:11:05浏览次数:33  
标签:function box 进阶 Javascript 笔记 alert 事件 document event

常用事件

目录

1. onl oad事件

  • onload 加载完成事件:页面加载完成后,对页面js代码进行初始化操作
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type = "text/javascript">
        function onl oadFun(){
            alert("静态注册onload事件")
        }
        window.onload = function(){
            alert("动态注册onload事件")
        }
    </script>
</head>
<body onl oad="onloadFun();">
</body>
</html>

<!--
由运行结果可以看出,静态注册的事件需要在body内显式调用,而动态注册的不用
同时,onload事件只能从静态和动态注册中二选一
-->

2. onclick事件

  • onclick 单击事件:用于按钮的点击响应操作
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type = "text/javascript">
        function onclickFun(){
            alert("静态注册onclick事件");
        }

        window.onload = function(){
            //根据id属性获取一个标签对象
            var btnObj = document.getElementById("btn01");
            //由标签对象调用函数
            btnObj.onclick = function(){
                alert("动态注册onclick事件");
            }
        }
    </script>
</head>
<body>
<button onclick="onclickFun()">静态注册</button>
<button id="btn01">动态注册</button>
</body>
</html>

3. onblur事件

  • onblur 失去焦点事件:用于输入框失去焦点后验证其输入内容是否合法
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type = "text/javascript">
        function onblurFun(){
            alert("静态注册onblur事件");
        }

        window.onload = function(){
            var passwordObj = document.getElementById("password");
            passwordObj.onblur = function(){
                alert("动态注册onblur事件");
            }
        }
    </script>
</head>
<body>
用户名:<input type="text" onblur="onblurFun();"><br/>
密码:<input id="password" type="text"><br/>
</body>
</html>

4. onchange事件

  • onchange 内容发生改变事件:用于下拉列表和输入框内容发生改变后的操作
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type = "text/javascript">
        function onchangeFun(){
            alert("静态注册onchange事件");
        }

        window.onchange = function(){
            var listObj = document.getElementById("list");
            listObj.onchange = function(){
                alert("动态注册onchange事件");
            }
        }
    </script>
</head>
<body>
选择列表A
<select onchange="onchangeFun()">
    <option>--请选择--</option>
    <option>AAA</option>
    <option>BBB</option>
    <option>CCC</option>
</select><br/>
选择列表B
<select id="list">
    <option>--请选择--</option>
    <option>AAA</option>
    <option>BBB</option>
    <option>CCC</option>
</select>
</body>
</html>

5. onsubmit事件

  • onsubmit 表单提交事件:用于表单提交前,验证所有表单项是否合法
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type = "text/javascript">
        function onsubmitFun(){
            alert("静态注册onsubmit事件");
            return false;
        }

        window.onsubmit= function(){
            var formObj = document.getElemntById("form01");
            formObj.onsubmit = function(){
                alert("动态注册onsubmit事件");
                return false;
            }
        }
    </script>
</head>
<body>
<form action="https://www.baidu.com/" method="get" onsubmit="return onsubmitFun()">
    <input type="submit" value="静态注册"/>
</form>
<form action="https://www.baidu.com/" id="form01">
    <input type="submit" value="动态注册"/>
</form>
</body>
</html>

6. onscroll事件

  • 该事件会在元素的滚动条滚动时触发

    //获取id为Info的p元素
    var info = document.getElementById("Info");
    //为Info绑定一个滚动条滚动事件
    info.onscroll = function(){
        //检查垂直滚动条是否到底
        if(info.scrollHeight - info.scrollTop == info.clientHeight){
            alert("滚动条已经到底了!");
        }
    }
    

7. onm ousemove事件

  • 该事件会在鼠标在元素中移动时触发

    //当鼠标在areaDiv中移动时,在showMsg中显示鼠标的坐标
    var areaDiv = document.getElementById("areaDiv");
    var showMsg = document.getElementById("showMsg");
    
    areaDiv.onmousemove = function(event){
        
        //clientX/Y可以获取鼠标指针的水平/垂直坐标
        var x = event.clientX;
        var y = event.clientY;
        
        showMsg.innerHTML = "x = " + x + " , y = " + y;
    }
    

8. onm ousedown & onm ouseup事件

  • 该事件会在鼠标按下或松开时触发

    //实现拖拽效果
    box.onmousedown = function () {
    	let ol = event.pageX - box.offsetLeft;
    	let ot = event.pageY - box.offsetTop;
    
    	document.onmousemove = function () {
    		let left = event.pageX - ol;
    		let top = event.pageY - ot;
    		box.style.left = left + "px";
    		box.style.top = top + "px";
    	}
    
    	document.onmouseup = function () {
    		document.onmousemove = null;
    		document.onmouseup = null;
    	}
    }
    

9. onwheel事件

  • 该事件会在滚轮滚动时触发

    //鼠标滚轮向下滚动时,方块变高,反之变矮
    box.onwheel = function(event){
    	if(event.wheelDelta > 0){
    		box.style.height = box.clientHeight - 10 + "px";
    	}else{
    		box.style.height = box.clientHeight + 10 + "px";
    	}
    }
    

10. onkeydown & onkeyup事件

  • 该事件会在键盘按下或松开时触发

    • 对于onkeydown来说,如果一直按着某个按键不松手,则事件会一直触发

      当onkeydown连续触发时,第一次和第二次之间会间隔一会,这种设计是为了防止误操作

    • 键盘事件一般会绑定给一些可以获取到焦点的对象或document

    document.onkeydown = function (event) {
    	switch (event.key) {
    		case "a":
    			box.style.left = box.offsetLeft - 10 + "px";
    			break;
    		case "d":
    			box.style.left = box.offsetLeft + 10 + "px";
    			break;
    		case "w":
    			box.style.top = box.offsetTop - 10 + "px";
    			break;
    		case "s":
    			box.style.top = box.offsetTop + 10 + "px";
    			break;
    	}
    }
    

标签:function,box,进阶,Javascript,笔记,alert,事件,document,event
From: https://www.cnblogs.com/Solitary-Rhyme/p/16849753.html

相关文章

  • Javascript进阶笔记 - DOM模型与节点
    DOM模型与节点目录DOM模型与节点1.DOM模型2.节点2.1节点的常用方法1.DOM模型DOM(文档对象模型)就是把文档中的标签,属性,文本转换成对象来管理(类似于Java中的对象)do......
  • Javascript进阶笔记 - DOM的增删改查
    DOM的增删改查目录DOM的增删改查1.DOM查询1.1常规DOM查询方法1.2通过CSS选择器查找HTML元素1.3通过HTML对象选择器查找HTML对象2.DOM元素的增添3.DOM元素的修改......
  • Javascript进阶笔记 - DOM操作CSS样式
    DOM操作CSS样式目录DOM操作CSS样式1.操作样式2.获取当前样式3.其它样式相关属性1.操作样式可以通过JS修改元素的内联样式语法:元素.style.样式名=样式值注意:......
  • JavaScript笔记 - 字符串常用方法
    字符串目录字符串1.字符串搜索indexOf()search()match()includes()startsWith()2.字符串提取slice()substring()substr()charAt()charCodeAt()split()3.字符串替换repl......
  • Javascript笔记 - JS中的数字
    数字目录数字1.精度2.数字方法3.把变量转换为数值1.精度整数在不使用指数或科学计数法的情况下,会被精确到15位varx=999999999999999;//x将是9999999999......
  • JavaScript笔记 - 正则表达式
    正则表达式目录正则表达式1.正则表达式语法1.1方括号1.2量词1.3元字符2.RegExp对象属性3.RegExp对象方法4.支持正则表达式的String对象的方法1.正则表达式语法......
  • 错题笔记:int a=b=1这样定义为什么是错误的
    C语言中定义同一类型的多个变量必须以逗号分隔。如:inta,b,c;=在C语言中是赋值运算符,等号左边的变量,必须是已以定义好的变量才可以。inta=b=1;中,若b已经定义,则......
  • shell-字符串处理学习笔记一
    计算字符串长度${#string}exprlength"$string"string有空格,则必须加双引号str="helloworld"#${#string}len=${#string}echo$len11#`exprlength"$stri......
  • javascript异步编程之generator(生成器函数)与asnyc/await语法糖
    Generator异步方案相比于传统回调函数的方式处理异步调用,​​Promise​​最大的优势就是可以链式调用解决回调嵌套的问题。但是这样写依然会有大量的回调函数,虽然他们之间......
  • javascript异步编程之generator(生成器函数)与asnyc/await语法糖
    Generator异步方案相比于传统回调函数的方式处理异步调用,Promise最大的优势就是可以链式调用解决回调嵌套的问题。但是这样写依然会有大量的回调函数,虽然他们之间没有嵌......