百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

JavaScript 事件处理

toyiye 2024-06-21 12:15 9 浏览 0 评论

事件处理

一 事件源:任何一个HTML元素(节点)body div button p a h1

二 事件:你的操作

鼠标点击、页面或图像载入、鼠标悬浮于页面的某个热点之上、在表单中选取输入框、确认表单、键盘按键

鼠标:

click 单击

dblclick 双击

contextmenu(在body) 鼠标右键菜单(火狐浏览器不支持,IE和360支持)


mouseover 放上(移入)

mouseout 离开(移出)

mousemove 移动

mouseup 抬起

mousedown 按下

mouseenter 放上(移入)

mouseleave 离开(移出)


mouseover/mouseout与mousenter/onmouseleave区别: mouseover/mouseout不会参与冒泡, mousenter/onmouseleave参与冒泡

键盘:

keypress 键盘事件

keyup 抬起

keydown 按下

文档:

load 加载完毕

error 加载失败

unload 关闭

beforeunload 关闭之前

表单:

focus 焦点

blur 失去焦点

submit 提交事件

change 改变

其他:

scroll 滚动

select 选择

新增事件

oninput 事件在用户输入时触发。该事件在 <input> 或 <textarea> 元素的值发生改变时触发。

三 事件处理程序

第一种: 格式:<tag on事件="事件处理程序">

<a href="htp://www.baidu.com/" onclick="javascript:alert('You have Clicked the link!')">MYlinker</a>

注意:"javascript:"可以省略



第二种: 格式:<tag on事件="事件处理函数">

<a href="htp://www.baidu.com/" onclick="Myclick()">MYlinker</a>
<script type="text/javascript">
function Myclick(){
alert('You have Clicked the link!');
}
</script>

注意:事件处理函数不分前后



第三种:

格式 <script type="text/javascript">

对象.on事件=事件处理程序

</script>

<script>
window.onload=function (){
var oBtn=document.getElementById('btn1');
oBtn.onclick=function (){
alert('a');
};
};
</script>

注意: window.onload的意义,当页面加载的时候可以调用某些函数;

对于第二种格式, 不需要window.onload语句, 而第三种格式必须要使用window.onload语句(也可以将事件处理程序放到DOM文档底部);

四、实例

屏蔽鼠标右键菜单(火狐浏览器不支持,IE和360支持)

<body oncontextmenu="return false;">
</body>
<body oncontextmenu="alert('010-123456789');return false">
</body>
<body oncontextmenu="return test()">
<script>
function test(){
alert('010-123456789');
return false;

</script>
</body>

兼容性最好的版本见 javascript|实例|屏蔽鼠标右键

自动将表单内的英文转换成大写:

<input type="text" onkeyup="if(this.value!=this.value.toUpperCase()) this.value = this.value.toUpperCase() "/>

浏览器事件

浏览器事件指载入文档直到该文档被关闭期间的浏览器事件,如浏览器载入文档事件onload、关闭该文档事件onunload、

浏览器失去焦点事件onblur、获得焦点事件onfocus等。

<script type="text/javascript">
<!--
window.onload = function ()
{
var msg="\nwindow.load事件 : \n\n";
msg+=" 浏览器载入了文档!";
alert(msg);
}
window.onfocus = function ()
{
var msg="\nwindow.onfocus事件 : \n\n";
msg+=" 浏览器取得了焦点!";
alert(msg);
}
window.onblur = function ()
{
var msg="\nwindow.onblur事件 : \n\n";
msg+=" 浏览器失去了焦点!";
alert(msg);
}
window.onscroll = function ()
{
var msg="\nwindow.onscroll事件 : \n\n";
msg+=" 用户拖动了滚动条!";
alert(msg);
}
window.onresize = function ()
{
var msg="\nwindow.onresize事件 : \n\n";
msg+=" 用户改变了窗口尺寸!";
alert(msg);
}
//-->
</script>

卸载事件使用:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> 卸载事件 </title>
<script type="text/javascript">
window.onunload = onunload_message;
function onunload_message(){
alert("您确定离开该网页吗?");
}
</script>
</head>
<body>
欢迎学习JavaScript。
</body>
</html>



多数浏览器内部对象都拥有很多事件,下面将以表格的形式给出常用的事件及何时触发这些事件。

JavaScript的常用事件

onabort 对象载入被中断时触发

onblur 元素或窗口本身失去焦点时触发

onchange 改变<select>元素中的选项或其他表单元素失去焦点,并且在其获取焦点后内容发生过改变时触发

onclick 单击鼠标左键时触发。当光标的焦点在按钮上,并按下回车键时,也会触发该事件

ondblclick 双击鼠标左键时触发

onerror 出现错误时触发

onfocus 任何元素或窗口本身获得焦点时触发

onkeydown 键盘上的按键(包括Shift或Alt等键)被按下时触发,如果一直按着某键,则会不断触发。当返回false时,取消默认动作

onkeypress 键盘上的按键被按下,并产生一个字符时发生。也就是说,当按下Shift或Alt等键时不触发。如果一直按下某键时,会不断触发。

onkeyup 释放键盘上的按键(键盘上所有按键)时触发

onload 页面完全载入后,在Window对象上触发;所有框架都载入后,在框架集上触发;

<img>标记指定的图像完全载入后,在其上触发;或<object>标记指定的对象完全载入后,在其上触发

onmousedown 单击任何一个鼠标按键时触发

onmousemove 鼠标在某个元素上移动时持续触发

onmouseout 将鼠标从指定的元素上移开时触发

onmouseover 鼠标移到某个元素上时触发

onmouseup 释放任意一个鼠标按键时触发

onreset 单击重置按钮时,在<form>上触发

onresize 窗口或框架的大小发生改变时触发

onscroll 在任何带滚动条的元素或窗口上滚动时触发

onselect 选中文本时触发

onsubmit 单击提交按钮时,在<form>上触发

onunload 页面完全卸载后,在Window对象上触发;或者所有框架都卸载后,在框架集上触发

相关推荐

如何用 coco 数据集训练 Detectron2 模型?

随着最新的Pythorc1.3版本的发布,下一代完全重写了它以前的目标检测框架,新的目标检测框架被称为Detectron2。本教程将通过使用自定义coco数据集训练实例分割模型,帮助你开始使...

CICD联动阿里云容器服务Kubernetes实践之Bamboo篇

本文档以构建一个Java软件项目并部署到阿里云容器服务的Kubernetes集群为例说明如何使用Bamboo在阿里云Kubernetes服务上运行RemoteAgents并在agents上...

Open3D-ML点云语义分割实验【RandLA-Net】

作为点云Open3D-ML实验的一部分,我撰写了文章解释如何使用Tensorflow和PyTorch支持安装此库。为了测试安装,我解释了如何运行一个简单的Python脚本来可视化名为...

清理系统不用第三方工具(系统自带清理软件效果好不?)

清理优化系统一定要借助于优化工具吗?其实,手动优化系统也没有那么神秘,掌握了方法和技巧,系统清理也是一件简单和随心的事。一方面要为每一个可能产生累赘的文件找到清理的方法,另一方面要寻找能够提高工作效率...

【信创】联想开先终端开机不显示grub界面的修改方法

原文链接:【信创】联想开先终端开机不显示grub界面的修改方法...

如意玲珑成熟度再提升,三大发行版支持教程来啦!

前期,我们已分别发布如意玲珑在deepinV23与UOSV20、openEuler24.03发行版的操作指南,本文,我们将为大家详细介绍Ubuntu24.04、Debian12、op...

118种常见的多媒体文件格式(英文简写)

MP4[?mpi?f??]-MPEG-4Part14(MPEG-4第14部分)AVI[e?vi??a?]-AudioVideoInterleave(音视频交错)MOV[m...

密码丢了急上火?码住7种console密码紧急恢复方式!

身为攻城狮的你,...

CSGO丨CS2的cfg指令代码分享(csgo自己的cfg在哪里?config文件位置在哪?)

?...

使用open SSL生成局域网IP地址证书

某些特殊情况下,用户内网访问多可文档管理系统时需要启用SSL传输加密功能,但只有IP,没有域名和证书。这种情况下多可提供了一种免费可行的方式,通过openSSL生成免费证书。此方法生成证书浏览器会提示...

Python中加载配置文件(python怎么加载程序包)

我们在做开发的时候经常要使用配置文件,那么配置文件的加载就需要我们提前考虑,再不使用任何框架的情况下,我们通常会有两种解决办法:完整加载将所有配置信息一次性写入单一配置文件.部分加载将常用配置信息写...

python开发项目,不得不了解的.cfg配置文件

安装软件时,经常会见到后缀为.cfg、.ini的文件,一般我们不用管,只要不删就行。因为这些是程序安装、运行时需要用到的配置文件。但对开发者来说,这种文件是怎么回事就必须搞清了。本文从.cfg文件的创...

瑞芯微RK3568鸿蒙开发板OpenHarmony系统修改cfg文件权限方法

本文适用OpenHarmony开源鸿蒙系统,本次使用的是开源鸿蒙主板,搭载瑞芯微RK3568芯片。深圳触觉智能专注研发生产OpenHarmony开源鸿蒙硬件,包括核心板、开发板、嵌入式主板,工控整机等...

Python9:图像风格迁移-使用阿里的接口

先不多说,直接上结果图。#!/usr/bin/envpython#coding=utf-8importosfromaliyunsdkcore.clientimportAcsClient...

Python带你打造个性化的图片文字识别

我们的目标:从CSV文件读取用户的文件信息,并将文件名称修改为姓名格式的中文名称,进行规范资料整理,从而实现快速对多个文件进行重命名。最终效果:将原来无规律的文件名重命名为以姓名为名称的文件。技术点:...

取消回复欢迎 发表评论:

请填写验证码