javascript事件处理程序


javascript 事件处理程序

1、普通事件处理程序

<input  type="button" value="click me" οnclick="showMessage()"  /> 

function showMessage(){alert("clicked");}

2、DOMO 级事件处理程序

 <span style="white-space:pre">	</span>//老方法var btn=document.getElementById("myBtn");	//dom扩展方法 支持主流浏览器,相似jquery语法var btn=document.querySelector("#myBtn");btn.οnclick=function(){alert("clicked!");};

3、DOM2 级事件处理程序

主要介绍这个。上面两个大家应该都非常熟悉了。DOM2事件处理程序定义了两个方法,用于加入和删除事件处理程序操作:addEventListener() 和 removeEventListener() 
全部DOM节点都包括这两个方法,他们有3个參数  :要处理的事件名、函数 、布尔值(true捕获阶段运行,false冒泡阶段运行),一般填false 
样例:
 var btn=document.getElementById("myBtn");	btn.addEventListener("click",function(){alert("clicked!");},false);

 //传入removeEventListener 的參数必须和addEventListener 一样btn.removeEventListener("click",function(){//这里不会运行 没实用--alert("clicked!");},false);

  IE实现了两个类似的方法:attachEvent()和detachEvent()  ,接受两个參数。没有八个bool值
样例 :
 	 var btn=document.getElementById("myBtn");	btn.attachEvent("onclick",function(){alert("clicked");});

     btn.detachEvent("onclick",function(){alert("clicked");});

所以 我们这边也写了个跨浏览器的事件处理程序:
//跨浏览器 事件处理程序var EventUtil= {addHandler:function(element,type,handler){if(element.addEventListener){element.addEventListener(type,handler,false);}else if(element.attachEvent){element.attachEvent("on"+type,handler);}else{element["on"+type]=handler;}},removeHandler:function(element,type,handler){if(element.removeEventListener){//除IE 其它element.removeEventListener(type,handler,false);}else if(element.detachEvent){//IEelement.detachEvent("on"+type,handler);}else{element["on"+type]=handler;}}}



转载于:https://www.cnblogs.com/gavanwanggw/p/6882930.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eclipse新发现功能之dos和terminal(ssh连接)

dos功能&#xff1a; window——》show view——》other——》remote systems&#xff0c;选择remote shell&#xff0c;选择确定或者双击&#xff0c;打开了一个新工具窗口。点击remote shell窗口最右上角的小三角&#xff0c;在launch子菜单中选择local&#xff0c;点击即可。…

7天学会python_7天学会Python最佳可视化工具Seaborn(五):结构化展示多维数据

当探索具有中等数量(不多不少的意思……)维度的数据集时&#xff0c;一个很好的方式是基于不同的子数据集构建不同的实例&#xff0c;并将它们以网格的方式组织在一张图之中。这种技术有时被称为“lattice”或“trellis”(大概是格子图、网格图)&#xff0c;这跟“small multip…

面对峰值响应冲击,解决高并发的三大策略

2019独角兽企业重金招聘Python工程师标准>>> 当前在互联网的大潮下&#xff0c;众所周知淘宝、京东这些交易系统每天产生的数据量都是海量的&#xff0c;每天的交易并发也是惊人的&#xff0c;尤其是“双11”、“6.18”这些活动&#xff0c;对系统的峰值响应提出了非…

.NET 采用 SkiaSharp 生成二维码和图形验证码及图片进行指定区域截取方法实现

在最新版的 .NET 平台中&#xff0c;微软在逐步放弃 System.Drawing.Imaging &#xff0c;给出的理由如下&#xff1a;System.Drawing命名空间对某些操作系统和应用程序类型有一些限制。在Windows&#xff0c; System.Drawing 依赖于GDI操作系统附带的本机库。 某些Windows SKU…

Linux运维人员必会开源运维工具体系

新手必会用深&#xff08;8-15k&#xff09;标记&#xff0c;老鸟必会深浅蓝色(15-25K)标记操作系统&#xff1a;Centos,Ubuntu,Redhat,suse,Freebsd网站服务&#xff1a;nginx,apache,lighttpd,php,tomcat,resin数据 库&#xff1a;MySQL,MariaDB,PostgreSQLDB中间件&#x…

unity读取Text

sing UnityEngine;using System.Collections;using System.IO; //需要导入System.IO&#xff0c;主要使用它的File类public class TextTest : MonoBehaviour { private string Mytxt; //用来存放文本内容 void Start() { Mytxt ReadFile("C:\\Users\\Admin\\Desktop\\测试…

hibernate mysql 主从_MYSQL主从复制和写分离

基础篇https://edu.51cto.com/course/19845.htmlhttps://edu.51cto.com/course/19845.htmlhttps://edu.51cto.com/course/19841.htmlhttps://edu.51cto.com/course/21197.htmlhttps://edu.51cto.com/course/19886.htmlhttps://edu.51cto.com/course/19887.htmlhttps://edu.51ct…

深入剖析Redis系列(五) - Redis数据结构之字符串

前言 字符串类型 是 Redis 最基础的数据结构。字符串类型 的值实际可以是 字符串&#xff08;简单 和 复杂 的字符串&#xff0c;例如 JSON、XML&#xff09;、数字&#xff08;整数、浮点数&#xff09;&#xff0c;甚至是 二进制&#xff08;图片、音频、视频&#xff09;&am…

全新升级的AOP框架Dora.Interception[6]: 框架设计和实现原理

本系列前面的五篇文章主要介绍Dora.Interception的编程模式以及对它的扩展定制&#xff0c;现在我们来聊聊它的设计和实现原理。目录一、调用链抽象二、基于约定的拦截器定义三、基于调用上下文的依赖注入容器四、拦截器的提供五、调用链的构建六、方法拦截的实现原理七、依赖注…

activemq 安全连接

一、定义用户组1.1 simpleAuthenticationPlugin通过在activemq.xml中配置用户组<plugins> <simpleAuthenticationPlugin> <users> <authenticationUser username"admin" password"password" groups"admins,publishers,consumer…

React Native在Android当中实践(五)——常见问题

React Native在Android当中实践&#xff08;一&#xff09;——背景介绍 React Native在Android当中实践&#xff08;二&#xff09;——搭建开发环境 React Native在Android当中实践&#xff08;三&#xff09;——集成到Android项目当中 React Native在Android当中实践&#…

完成登录与注册页面的前端

完成登录与注册页面的HTMLCSSJS&#xff0c;其中的输入项检查包括&#xff1a; 用户名6-12位 首字母不能是数字 只能包含字母和数字 密码6-12位 注册页两次密码是否一致 JS&#xff1a; function fnLogin() {var uSer document.getElementById("user");var pAss do…

mysql505复位密码_mysql5 如何复位根用户密码[官方文档]

如何复位根用户密码如果你从未为MySQL设置根用户密码&#xff0c;服务器在以根用户身份进行连接时不需要密码。但是&#xff0c;建议你为每个账户设置密码如果你以前设置了根用户密码&#xff0c;但却忘记了该密码&#xff0c;可设置新的密码。下述步骤是针对Windows平台的。在…

WPF效果第二百零一篇之实现合并单元格

早一段时间又一次出差青海省西宁市;回来又是总结又是各种琐事,也没顾得上去分享点东西;大周末的就在家分享一下,这二天再次基于ListBox实现的合并单元格的效果:1、ListBox嵌套ListBox的前台布局:<ListBox ItemsSource"{Binding LCPListData}" x:Name"Manufac…

转载 maven 详解 http://www.cnblogs.com/binyue/p/4729134.html

--声明规范 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!--声…

ASP.NET Core中使用EasyCaching作为缓存抽象层

简介做后端开发&#xff0c;缓存应该是天天在用&#xff0c;很多时候我们的做法是写个帮助类&#xff0c;然后用到的时候调用一下。这种只适合简单层次的应用&#xff1b;一旦涉及到接口实现调整之类的&#xff0c;这种强耦合的做法很不合适。有些其他的功能又要去重复造轮子。…

mysql qps如何查看_mysql状态查看 QPS/TPS/缓存命中率查看

运行中的mysql状态查看对正在运行的mysql进行监控&#xff0c;其中一个方式就是查看mysql运行状态。(1)QPS(每秒Query量)QPS Questions(or Queries) / uptimemysql > show global status like Question%;mysql > show global status like uptime%;(2)TPS(每秒事务量…

visual studio开启多核编译方法

先按http://blog.csdn.net/acaiwlj/article/details/50240625的方法进行了VS多线程的启动。 原本以为按以下步骤设置就OK了&#xff0c;但是编译中无意间发些了一个warning&#xff1a;“/Gm”与多处理不兼容&#xff1b;忽略 /MP 开关&#xff01;&#xff01;&#xff01;&am…

聊聊storm nimbus的LeaderElector

为什么80%的码农都做不了架构师&#xff1f;>>> 序 本文主要研究一下storm nimbus的LeaderElector Nimbus org/apache/storm/daemon/nimbus/Nimbus.java public static void main(String[] args) throws Exception {Utils.setupDefaultUncaughtExceptionHandler();…

Android框架式编程之BufferKnife

BufferKnife作为框架式编程的重要组成部分&#xff0c;使用BufferKnife能够极大的精简View层面的代码量&#xff0c;并为MVP/MVC方式提供辅助。 一、配置 compile com.jakewharton:butterknife:(insert latest version) annotationProcessor com.jakewharton:butterknife-compi…