JavaScript的事件event对象(中)

简介: 事件对象也存在一定的兼容性问题,在IE8及以前本版之中,通过设置属性注册事件处理程序时,调用的时候并未传递事件对象,需要通过全局对象window.event来获取。解决方法如下:

👦个人简介:张清悠,字澄澈,号寻梦客,爱好旅行、运动,主攻前端方向技术研发,副攻Unity 3D、C++、Python人工智能等
📝个人寄语:学会不为过程的缓慢而焦虑,即使暂时未能如你所愿,但只要你在努力,你就在不断成长!
🙏个人公众号:清悠小猿(海量源码尽在其中,欢迎关注)

一、 Event事件类型

事件对象也存在一定的兼容性问题,在IE8及以前本版之中,通过设置属性注册事件处理程序时,调用的时候并未传递事件对象,需要通过全局对象window.event来获取。解决方法如下:

function getEvent(event) {
   
 event = event || window.event;
}

在IE浏览器上面是event事件是没有preventDefault()这个属性的,所以在IE上,我们需要设置的属性是returnValue

window.event.returnValue=false

stopPropagation()也是,所以需要设置cancelBubble,cancelBubble是IE事件对象的一个属性,设置这个属性为true能阻止事件进一步传播。

event.cancelBubble = true

1.2 UI事件

load // 页面完全加载完成后,立即执行

unload // 事件在用户退出时发生

resize // 事件在窗口或框架被调整大小时发生

scroll // 用户滚动滚动条的元素中的内容时,在元素上触发

1.3 表单点击事件

blur // 失去焦点

<html>
<head>
<script type="text/javascript">
function setFocus() {
    
  document.getElementById('text1').focus()
}
function loseFocus() {
    
  document.getElementById('text1').blur()
}
</script>
</head>
<body>

<form>
<input type="text" id="text1" />
<br />
<input type="button" onclick="setFocus()" value="Set focus" />
<input type="button" onclick="loseFocus()" value="Lose focus" />
</form>

</body>
</html>

focus // 获得焦点

select // 文本被选中

change // 内容改变时

submit // 点击提交按钮触发

<html>
<head>
<script type="text/javascript">
function formSubmit(){
    
  document.getElementById("myForm").submit()
}
</script>
</head>

<body>

<form id="myForm" action="js_form_action.asp" method="get">
Firstname: <input type="text" name="firstname" size="20"><br />
Lastname: <input type="text" name="lastname" size="20"><br />
<br />
<input type="button" onclick="formSubmit()" value="Submit">
</form>
</body>

</html>

reset // 点击重置按钮触发

<html>
<head>
<script type="text/javascript">
function formReset(){
    
    document.getElementById("myForm").reset()
}
</script>
</head>

<body>
<p>在下面的文本框中输入一些文本,然后点击重置按钮就可以重置表单。</p>

<form id="myForm">
姓名:<input type="text" size="20"><br />
年龄:<input type="text" size="20"><br />
<br />
<input type="button" onclick="formReset()" value="重置">
</form>
</body>

</html>

1.4 鼠标事件

onclick: // 用户单击鼠标按钮或按下回车键时触发

onmouseover: // 当鼠标移到某个元素上方时触发

onmouseout: // 当鼠标移出某个元素上方时触发

onmousemove: // 当鼠标指针在元素上移动时触发

onmouseenter : // 当鼠标移动到元素上方(子元素不支持冒泡)

onmouseleave : // 鼠标离开元素(子元素不支持冒泡)

ondblclick: // 当用户双击主鼠标按钮时触发

onmousedown: // 当用户按下鼠标还未弹起时触发

onmouseup: // 当用户释放鼠标按钮时触发

1.5 键盘事件

keydown // 键盘按下任意键

keypress // 键盘按下字符键

keyup // 释放键盘上的键

键盘事件
onkeydown:当用户按下键盘上任意键(功能键除外)触发,如果按住不放,会重复触发。

onkeypress:当用户按下键盘上的ascii码字符键触发,如果按住不放,会重复触发onkeyup:当用户释放键盘上的键触发

总结

```
以上就是今天带你走进从零认识JavaScript到精髓(十八)JavaScript的事件event对象(中)
会持续更新中…
原创不易,期待您的点赞关注与转发评论😜😜😜

目录
相关文章
|
3天前
|
Web App开发 JSON JavaScript
JavaScript对象常用操作JSON总结
JavaScript对象常用操作JSON总结
16 8
|
1天前
|
存储 JavaScript 前端开发
JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)
【6月更文挑战第25天】JavaScript中的对象是数据结构,存储键值对,键为字符串,值可为任意类型,包括函数(作为方法)。
8 2
|
1天前
|
JavaScript 索引
Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`&lt;li&gt;`元素
【6月更文挑战第25天】Vue.js的`v-for`用于基于数组或对象渲染列表,如遍历数组生成`&lt;li&gt;`元素。基本语法是`v-for=&quot;(item, index) in items&quot;`,支持遍历对象的键值对。注意与`v-if`同用时应使用`&lt;template&gt;`,组件上使用`v-for`需设`key`属性以优化性能。
10 2
|
5天前
|
存储 JavaScript 前端开发
第六篇-Javascript对象
第六篇-Javascript对象
10 2
|
5天前
|
JavaScript 前端开发
第八篇-Javascript 事件
第八篇-Javascript 事件
14 1
|
6天前
|
JavaScript 前端开发
杨老师课堂之JavaScript悬浮事件(鼠标移入移出事件)
杨老师课堂之JavaScript悬浮事件(鼠标移入移出事件)
14 1
|
1天前
|
前端开发 JavaScript 安全
解锁 JavaScript ES6:函数与对象的高级扩展功能
解锁 JavaScript ES6:函数与对象的高级扩展功能
|
1天前
|
JavaScript 前端开发 Java
遨游 JavaScript 对象星际:探索面向对象编程的深邃世界
遨游 JavaScript 对象星际:探索面向对象编程的深邃世界
|
1天前
|
前端开发 JavaScript 算法
JavaScript 中的数学与时光魔法:Math与Date对象大揭秘
JavaScript 中的数学与时光魔法:Math与Date对象大揭秘
|
5天前
|
JavaScript 前端开发
JS如何判断一个对象是否为数组?
JS如何判断一个对象是否为数组?
10 0