javascript事件简介

本文深入解析JavaScript中的onabort、onerror、onload、onunload、onblur、onfocus、onchange、onclick、ondblclick、onkeydown、onkeyup、onkeypress等关键事件,通过实例代码演示其应用。

javascript事件无疑是javascript语言的典型特征之一,下面我们逐个一一进行讨论并且举例说明


1、onabort事件,onerror事件以及onload事件以及onunload事件

第一个用于img标签,后两个用于页面以及图像的加载,分别为加载失败和加载成功的时候所触发的事件

如果图像的加载被中断,那么会触发改事件

代码:

<html>
<head>
<script type="text/javascript">
function abortImage()
{
alert('Error: Loading of the image was aborted')
}
</script>
</head>

<body>
<img src="image_w3default.gif" onabort="abortImage()" />
</body>

</html>

2、onblur事件与onfocus事件

blur的意思是模糊的意思,该事件是在页面元素失去焦点的时候被触发的。大部分的页面元素都可以用来触发该事件。有的人可能不明白失去焦点的含义,其实就是按下鼠标或者键盘上的tab键时将焦点转移到其他对象或者页面,相反的是,focus是集中的意思,也就是元素获得用户焦点时所触发的事件

代码:

<html>
<head>
<meta charset="Utf-8">
    <script type="text/javascript">
        function upperCase()
        {
            var x=document.getElementById("fname").value
            document.getElementById("fname").value=x.toUpperCase()
        }
    </script>
</head>


<body>


输入您的姓名:
<input type="text" id="fname" οnblur="upperCase()" />


</body>
</html>


3、onchange事件

当输入域的内容改变的时候会触发该事件

<html>
<head>
<script type="text/javascript">
function upperCase(x)
{
var y=document.getElementById(x).value
document.getElementById(x).value=y.toUpperCase()
}
</script>
</head>

<body>

输入您的姓名:
<input type="text" id="fname" onchange="upperCase(this.id)" />

</body>
</html>

4、onclick与ondbclick

含义分别为当用户单击和双击某元素的时候所触发的事件

<html>
<body>

Field1: <input type="text" id="field1" value="Hello World!">
<br />
Field2: <input type="text" id="field2">
<br /><br />
双击下面的按钮,把 Field1 的内容拷贝到 Field2 中:
<br />
<button ondblclick="document.getElementById('field2').value=
document.getElementById('field1').value">Copy Text</button>

</body>
</html>

5、有关键盘按键的事件,分别为onkeydown事件,onkeyup事件和onkeypress事件

含义分别为当按键按下和按键起来以及按键按下松开

ie是window.event,其他为event.which.chrome两者都是支持的

<html>
<body>
<script type="text/javascript">
function noNumbers(e)
{
var keynum
var keychar
var numcheck

if(window.event) // IE
  {
  keynum = e.keyCode
  }
else if(e.which) // Netscape/Firefox/Opera
  {
  keynum = e.which
  }

keychar = String.fromCharCode(keynum)
numcheck = /\d/
return !numcheck.test(keychar)
}
</script>

<form>
<input type="text" onkeydown="return noNumbers(event)" />
</form>

</html>

6、onmousedown事件、onmousemove事件,onmouseout事件,onmouseover事件,onmouseup事件,有关mouse的事件

顾名思义


7、onsubmit事件

提交按钮被按下的事件

### JavaScript事件处理机制及常见用法 #### 一、DOM事件简介 在Web开发中,JavaScript事件处理是一个重要的概念。通过事件处理,开发者能够对用户的操作做出响应,进而构建具有高度互动性的网页[^1]。 #### 二、事件处理概述 JavaScript事件处理机制构成了现代Web应用程序的核心部分。掌握事件的基础运用方式、区分事件冒泡与捕获的不同之处、理解事件委托的意义及其带来的性能提升措施,在创建复杂的交互型站点时显得尤为重要[^2]。 #### 三、事件传播机制——事件冒泡 事件冒泡是一种特定于DOM结构内的事件传递模式。一旦某个元素接收到一个事件通知,则该消息将会沿着这条路径由目标节点向上传播至根节点(通常是document对象),沿途激活各层容器上的同名监听函数。这种特性允许较低级别的组件影响更高级别的行为而无需直接关联两者之间的逻辑关系[^3]。 ```javascript // 添加点击事件处理器给按钮并阻止默认提交动作 const button = document.querySelector('button'); button.addEventListener('click', function(event){ event.preventDefault(); // 阻止表单提交或其他默认行为 }); ``` #### 四、常用方法实现事件绑定 为了有效地管理页面中的各种可能发生的用户活动,通常采用`addEventListener()`来注册多个相同类型的回调而不互相覆盖;也可以利用匿名函数或者箭头表达式简化语法书写: ```javascript // 使用 addEventListener 方法为 div 绑定鼠标移入/移出效果 let myDiv = document.getElementById("mydiv"); myDiv.addEventListener("mouseover", () => { console.log("Mouse is over the element."); }); myDiv.addEventListener("mouseout", (event) => { console.log(`Mouse has left ${event.target.id}.`); }); ``` #### 五、移除已有的事件监听器 如果不再需要某些已经设置好的反应规则,可以通过调用removeEventListener()取消对应的侦听状态,这有助于减少不必要的资源占用和潜在的安全风险: ```javascript function handleResize(){ console.log(window.innerWidth); } window.addEventListener('resize',handleResize); setTimeout(() => { window.removeEventListener('resize',handleResize); }, 5000); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值