DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理

时间:2023-01-25 15:29:45

事件对象——兼容处理

 /*
* 功能: 事件对象兼容
* 参数: 表示常规浏览器的事件对象e
*/
function getEvent(e) {
// 如果存在e存在,直接返回,否则返回window.event
7 return e || window.event;
8 }

获取事件所对应的目标——兼容处理

 /*
* 功能: 获取事件所对应的目标
* 参数: 表示常规浏览器的事件对象e
*/
function getTargetByEvent(e) {
// 如果存在e.target,直接返回,否则返回window.event.srcElement
return e.target || window.event.srcElement;
}

添加事件——兼容处理

 /*
* 功能: 添加事件
* 参数:
*/
function addEventHandler(element, eventName, handler) {
// 三目(条件)运算符,如果存在document.addEventListener直接调用,否则调用document.attachEvent这个方法
document.addEventListener ? element.addEventListener(eventName, handler, flase) : element.attachEvent('on' + eventName, handler);
}

阻止默认事件——兼容处理

 /*
* 功能: 阻止默认事件
* 参数: 表示要阻止的事件对象
*/
function stopDefaultEvent(e) {
// 三目(条件)运算符,如果存在e.preventDefault直接调用,否则使用window.event.returnValue = false;
e.preventDefault ? e.preventDefault() : (window.event.returnValue = false);
}

阻止冒泡事件——兼容处理

 /*
* 功能: 阻止冒泡事件
* 参数: 表示要阻止的事件对象
*/
function stopBubbleEvent(e) {
e.stopPropagation ? e.stopPropagation() : (window.event.cancelBubble = true);
}

以上为一些事件对象所涉及到的兼容处理。
其实JS的兼容处理比较简单,无非就是判断浏览器是否有此方法(对象),如果有的话,就直接调用(获取),否则使用另外的方法。

DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理的更多相关文章

  1. spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象

    相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXm ...

  2. JavaScript 阻止默认时间和冒泡时间

    <!DOCTYPE HTML><html> <head> <title>event cancel</title> </head> ...

  3. addevent兼容函数 &amp&semi;&amp&semi; 阻止默认行为 &amp&semi;&amp&semi; 阻止传播

    function addEvent(a, b, c, d) { a.addEventListener ? a.addEventListener(b, c, d) : a.attachEvent(&qu ...

  4. 1&Tab;实现添加功能 &Tab;1&period;1&Tab;定义一个学员类(Student),在Student类中定义姓名、性别和年龄属性,定义有&Tab;参数的构造方法来初始化所以的成员属性 &Tab;1&period;2&Tab;创建学员类对象来存放学员信息,并且为每一个学生对象添加的相应的编号。并将&Tab;学员类对象添加到Map&lt&semi;Integer&comma;Student&gt&semi;集合中 &Tab;1&period;3&Tab;添加完成后,显示所有已添加的学员姓名 &Tab;1&period;4&Tab;限制年龄文本框只能输入正整数&comma;否则的会采

    学生类 package com.lanxi.demo1_3; public class Student { private String name; private String sex; priva ...

  5. javascript获取事件源对象和产生事件的对象

    事件源对象是指event对象,其封装了与事件相关的详细信息,比如按键状态. 获取事件源对象的方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  6. Web:移动端阻止默认行为的小坑

    问题 移动端 web 开发中,使用 addEventListener 阻止了 touchstart 事件的默认行为却发现没有生效 描述 再移动端 web 开发中,我们一般会用 addEventList ...

  7. js事件委托篇&lpar;附js一般写法和js、jq事件委托写法&rpar;

    参考: jQuery代码优化:事件委托篇 使用该技术能让你避免对特定的每个节点添加事件监听器:相反,事件监听器被添加在他们的父元素上,事件监听器会分析从子元素上冒泡上来的事件,并找到是哪个子元素事件. ...

  8. 获取JSON对象的属性值

    1.问题背景 有一个json对象,其中有键值对,那怎样获取json对象中属性值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  9. 反射:获取Class对象的三种方式

    获取Class对象的三种方式 package lianxiApril18; /** * 获取Class对象的三种方式 * 1 Object ——> getClass(); * 2 任何数据类型( ...

随机推荐

  1. java继承的对象中构造函数的调用顺序

    建立两个继承关系的对象 public class Machine { public String machieNameString; public Machine() { System.out.pri ...

  2. selenium &plus; python自动化测试环境搭建

    selenium的在python平台的搭建: 搭建平台windows 准备工具如下: --------------------------------------------------------- ...

  3. How to scroll the window using JQuery &dollar;&period;scrollTo&lpar;&rpar; function

    $('html, body').animate({scrollTop: $("#page").offset().top}, 2000); http://*. ...

  4. 【转】android电池(四):电池 电量计&lpar;MAX17040&rpar;驱动分析篇

    关键词:android 电池  电量计  MAX17040 任务初始化宏 power_supply 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台: ...

  5. Unity 3D 连接Mysql数据库

    要想使用Unity直接连接数据库需要以下几个动态库

  6. 实现单例模式C&plus;&plus;版本

    还是先看最简单的C++单例模式 class CSingleton { private: CSingleton(){} static CSingleton *pInstance; public: sta ...

  7. struts OGNL数据标签

    OGNL对象图导航语言,类似于el表达式,strut的底层就是用这个写的在导入struts-core的时候会导入ognl.jar public class Test { public static v ...

  8. java网络之udp

    import java.net.*; /** * InetAddress用法 * 获取本地主机名,ip * 通过主机名,ip获取InetAddress对象 */ public class Demo{ ...

  9. Linux i2c子系统&lpar;三&rpar; &lowbar;解决probe无法执行

    如果你也遇到了填充了id_match_table,compitible怎么看都一样,但probe就是不执行(让我哭一会),你可以回头看一下上一篇的模板,我们这里虽然使用的是设备树匹配,但和platfo ...

  10. 【爆料】-《阿伯丁大学毕业证书》AU一模一样原件

    ☞阿伯丁大学毕业证书[微/Q:865121257◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&a ...