javascript的自定义对象/取消事件/事件兼容性/取消冒泡
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>自定义对象</title> <!-- 自定义对象是一种特殊数据类型,由属性和方法封装而成. --> <script type="text/javascript"> function method1() { var person=new Object(); //添加属性 person.name=" 瑞兹 "; person.spell=957; //添加方法1. person.say=new Function("alert(' person.name ')"); //添加方法2. person.way=way; function way(){ var num=0; for(var i=0;i<100;i++){ num+=i; } alert(num); } } /* 构造器 创建对象 */ function person(name,age){ //定义属性 this.name=name; this.age=age; //定义成员方法: this.sayName=function(){ alert(this.name); } } function method2(){ var p=new person(); //通过构造器创建对象 } /* JSON 是一种轻量级的数据交换格式 : -使用 键值对 形式定义 -名称需要用双引号 “” 引起来 -多个对定义之间 使用 ,隔开 */ function method3(){ var p={"name":"张韶涵","age":30,"say":function(){alert("看得最远的地方")}}; } </script> </head> <body> <input type="button" onclick="method1();" value="创建通用对象模板!"> <input type="button" onclick="method2();" value="创建对象模板!"> <input type="button" onclick="method3();" value="创建JSON对象模板!"> </body> </html>
2.取消事件:
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>取消事件写法</title> <script type="text/javascript"> function judge(){ var result =confirm('确定要删除吗?'); return result; } </script> <body> <form> <input type="text" value="我是要提交的数据"> <input type="submit" value="删除" onclick="judge();"> </form> </body> </head></html>
3.事件兼容性
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>取消事件写法</title> <script type="text/javascript"> function fun(e){ console.log(event.clientX+','+event.clientY);//获取点击时的位置,单位是像素,次写法可能出现不兼容问题 //不兼容的提示:reffereceError event is not defined // 兼容写法如下:
console.log(e.clientX+','+e.clientY);/* 获取事件源的写法(即事件的目标节点) IE:event.srcElement Fire Fox: event.target*/console.log(event.srcElement);
console.log(event.target);// 兼容写法: var evesrc=event.srcElement||event.target; console.log(evesrc.nodeName);
} </script> <body> <p onclick="console.log(event.clientX);"> HTML使用</p>
<p onclick="fun(event);"> JS使用</p>
</body> </head> </html>
5.取消冒泡
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>事件冒泡处理机制</title> <style type="text/css"> div{ border:1px solid #ccc; margin:10px; padding:20px; } #d1{ width:300px; height:300px; background-color:red; } #d2{ width:200px; height:200px; background-color:blue; } #d3{ width:100px; height:100px; background-color:green; } </style> <script type="text/javascript"> function f1(){ alert("D1"); } function f2(){ alert("D2"); } function f3(e){ alert("D3"); //取消冒泡 的写法 if(e.stopPropagation){ e.stopPropagation(); }else{ e.cancelBubble(); } } </script> </head> <body> <div id="d1" onclick="f1()">D1 <div id="d2" onclick="f2();">D2 <div id="d3" onclick="f3(event);">D3</div> </div> </div> </body> </html>
javascript的自定义对象/取消事件/事件兼容性/取消冒泡的更多相关文章
- javascript创建自定义对象和prototype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- javascript获取事件源对象和产生事件的对象
事件源对象是指event对象,其封装了与事件相关的详细信息,比如按键状态. 获取事件源对象的方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...
- JavaScript内置对象与原型继承
(一) 理解JavaScript类定义 1>关于内置对象理解 console.log(Date.prototype.__proto__===Object.prototype //tru ...
- javascript第一弹——对象
一. 什么是对象 对象是包含一组变量(称为属性)和函数(称为方法)的集合的实例. javascript中所有事物都是对象 javascript有很多内建对象 javascript允许自定义对象 对象只 ...
- javascript 内置对象
什么是对象 javascript中的所有事物都是对象:字符串 数组 数值 函数... 每个对象都带有属性和方法 javascript允许自定义对象 自定义对象: 定义并创建对象实例 使 ...
- JavaScript---网络编程(4)-Date、Math、Global和自定义对象
本节博客进行Date对象.Math对象.Global对象和自定义对象的用法演示. 首先是一个out.js文件内容(输出到网页中的自定义输出方法): function println(parma){ d ...
- 学习javaScript必知必会(4)~事件、事件绑定、取消事件冒泡、事件对象
1.常用的事件: ① onload:页面加载 ② onblur: 失去焦点 onfocus: 获取焦点 ③ onclick:点击 ④ onmouseover:鼠标经过 onmouseout:鼠标离开 ...
- JavaScript事件---事件对象
发文不易,若转载传播,请亲注明出处,谢谢! 内容提纲: 1.事件对象 2.鼠标事件 3.键盘事件 4.W3C与IE JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开 ...
- JavaScript(第二十四天)【事件对象】
JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功能.最方便和强大的就是事件对象,他们可以帮你处理鼠标事件和键盘敲击方面的情况,此外还可以修改一般事件的 ...
随机推荐
- 弱点扫描-openvas初始化
OPENVAS: NESSUS项目分支:商业版的扫描器 管理目标系统的漏洞 免费开源 Kali 默认安装但是未配置个启动 安装 创建证书 同步弱点数据库 创建客户端证书 重建数据库 备份数据库 启动服 ...
- Linux 只复制目录,不复制目录下数据文件
[root@yoon u02]# mkdir yoon [root@yoon u02]# mkdir hank [root@yoon yoon]# mkdir -p 1/data [root@yoon ...
- Minikube安装
参考 https://blog.csdn.net/liumiaocn/article/details/52041726?locationNum=4&fps=1 中文社区API http://d ...
- java 接口 2.19
接口中所有的方法都是抽象的和public的,所有的属性都是public,static,final的.
- Day4 - M - Roads in Berland CodeForces - 25C
There are n cities numbered from 1 to n in Berland. Some of them are connected by two-way roads. Eac ...
- redis数据导入与导出以及配置使用
最近在研究redis 遇到redis requires Ruby version >= 2.2.2问题 解决办法是 先安装rvm,再把ruby版本提升至2.3.3 1.安装curl sudo y ...
- [PHP] php作为websocket的客户端实时读取推送日志文件
首先要使用composer来下载一个第三方扩展就可以实现php的websocket客户端,直接在当前目录生成下composer.json文件就可以了composer require textalk/w ...
- 不能安装64位office提示已安装32位如何处理
不能安装64位office提示已安装32位如何处理? 1 2 3 4 5 6 当你遇到提示说[无法安装64位版本的office,以为在您的PC上找一下32位程序......]时如果你还想安装64位 ...
- Gym - 101158C Distribution Center
题意:n个传送带,传送带i运送编号为i的物品,机器人可以负责把传送带i上的物品放到传送带i + 1上,也可以把传送带i + 1上的物品放到传送带i上,机器人分布在传送带上x轴的不同位置,问每个传送带最 ...
- 使用Nginx搭建Tomcat9集群,Redis实现Session共享
使用Nginx搭建Tomcat9集群,Redis实现Session共享 1.tomcat准备 首先准备两个tomcat9 ,修改配置文件server.xml 如果在多个服务器上分别启动tomcat 则 ...