js三大事件

鼠标事件

click : 单击

dblick:双击

mousedown:鼠标按下

mouseup:鼠标抬起

mouseout:鼠标离开

mousemove:鼠标一移动

mouseenter:鼠标进入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//html
<button onclick="myClick()">鼠标单击</button>
<button ondblclick="myDBClick()">鼠标双击</button>
<button onmousedown="myMouseDown()" onmouseup="myMouseUp()">鼠标按下和抬起</button>
<button onmouseover="myMouseOver()" onmouseout="myMouseOut()">鼠标悬浮和离开</button>
<button onmousemove="myMouseMove()">鼠标移动</button>
<button onmouseenter="myMouseEnter()" onmouseleave="myMouseLeave()">鼠标进入和离开</button>
 
//JS
   function myClick() { 
       console.log("你单击了按钮!"); 
   
   function myDBClick() { 
       console.log("你双击了按钮!"); 
   
   function myMouseDown() { 
       console.log("鼠标按下了!"); 
   
   function myMouseUp() { 
       console.log("鼠标抬起了!"); 
   
   function myMouseOver() { 
       console.log("鼠标悬浮!"); 
   
   function myMouseOut() { 
       console.log("鼠标离开!") 
   
   function myMouseMove() { 
       console.log("鼠标移动!") 
   
   function myMouseEnter() { 
       console.log("鼠标进入!") 
   
   function myMouseLeave() { 
       console.log("鼠标离开!") 
   }  

键盘事件

keydown:按键按下

keyup:按键抬起

keypress:按键按下抬起

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//html
<input id="name" type="text" onkeydown="myKeyDown(this.id)" onkeyup="myKeyUp(this.id)">
 
 
//JS
/*输出输入的字符*/
function myKeyDown(id) {
  console.log(document.getElementById(id).value);
}
 
/*按键结束,字体转换为大写*/
function myKeyUp(id) {
  var text = document.getElementById(id).value;
document.getElementById(id).value = text.toUpperCase();
}

  

HTML事件

load:文档加载完成

select:被选中的时候

change:内容被改变

focus:得到光标

resize:窗口尺寸变化

scroll:滚动条移动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
//html
<body onload="loaded()">
  <div style="height: 3000px" ></div>
  <input type="text" id="name" onselect="mySelect(this.id)">
  <input type="text" id="name2" onchange="myChange(this.id)">
  <input type="text" id="name3" onfocus="myFocus()">
</body>
 
//JS
window.onload = function () { 
       console.log("文档加载完毕!"); 
   }; 
   /*window.onunload = function () { 
    alert("文档被关闭!"); 
    };*/ 
   /*打印选中的文本*/ 
   function mySelect(id) { 
       var text = document.getElementById(id).value; 
       console.log(text); 
   
   /*内容被改变时*/ 
   function myChange(id) { 
       var text = document.getElementById(id).value; 
       console.log(text); 
   
   /*得到光标*/ 
   function myFocus() { 
       console.log("得到光标!"); 
   
   /*窗口尺寸变化*/ 
window.onresize = function () { 
       console.log("窗口变化!") 
   }; 
   /*滚动条移动*/ 
window.onscroll = function () { 
       console.log("滚动"); 
   
事件模型
//html
<body>
<!--脚本模型:行内绑定-->
<button onclick="alert('hello')">hello</button>
<!--内联模型-->
<button onclick="showHello()">hello2</button>
<!--动态绑定-->
<button id="btn">hello3</button>
</body>
 
//JS
<script>
   function showHello() { 
       alert("hello"); 
   
   /*DOM0:同一个元素只能添加一个同类事件 
    * 如果添加多个,后面的会把前面的覆盖掉*/ 
   var btn = document.getElementById("btn"); 
btn.onclick = function () { 
       alert("hello"); 
   }; 
btn.onclick = function () { 
       alert("hello world"); 
   }; 
   /*DOM2:可以给一个元素添加多个同类事件*/ 
   btn.addEventListener("click", function () { 
       alert("hello1"); 
   }); 
   btn.addEventListener("click", function () { 
       alert("hello2"); 
   }); 
   /*不同浏览器的兼容写法*/ 
   /*IE*/ 
   if (btn.attachEvent) { 
       btn.attachEvent("onclick", function () { 
           alert("hello3"); 
       }); 
   /*W3C*/ 
   } else { 
       btn.addEventListener("click", function () { 
           alert("hello4"); 
       }) 
   
</script>

  

事件冒泡与事件捕获

冒泡

1
2
3
4
5
6
7
8
9
10
11
12
<div id="s1">s1
    <div id="s2">s2</div>
</div>
 
<script>
    s1.addEventListener("click",function(e){
        console.log("s1 冒泡事件");
    },false);
    s2.addEventListener("click",function(e){
        console.log("s2 冒泡事件");
    },false);
</script>

捕获

1
2
3
4
5
6
7
8
9
10
11
12
<div id="s1">s1
    <div id="s2">s2</div>
</div>
 
<script>
    s1.addEventListener("click",function(e){
        console.log("s1 捕获事件");
    },true);
    s2.addEventListener("click",function(e){
        console.log("s2 捕获事件");
    },true);
</script>

  

 

 
posted @   泡椒pg  阅读(57)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示