javascript事件详解1
事件流讲解来袭,嘎嘎嘎嘎嘎
----------------------------------------------------------------
1.事件流:描述的是在页面中接受事件的顺序。
2.事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档)。
3.事件捕获:最不具体的节点先接收事件,而最具体的节点应该是最后接收事件。
--------------------------------------------------------------------
事件处理:
1.HTML事件处理:直接添加到HTML结构中(例:之前的onclick等,可以往前查看例子)。
2.DOM0级事件处理:把一个函数赋值给一个事件处理程序属性。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
例(针对2):<div id="div">
<button id="btn">按钮</button>
</div>
<script>
var btn1=document.getElementById("btn");
btn.onclick=function(){
alert("hello,DOM0级事件处理程序1。");
}
</script>
结果:界面出现
,鼠标点击按钮后,弹出对话框

若在上述代码中稍做改变:
<div id="div">
<button id="btn">按钮</button>
</div>
<script>
var btn1=document.getElementById("btn");
btn.onclick=function(){
alert("hello,DOM0级事件处理程序1。");
}
btn1.onclick=function(){
alert("hello,DOM0级事件2.");
}
</script>
结果:界面出现一按钮
,鼠标点击后弹出对话框

我们可以发现对二个函数对第一个进行了覆盖,即这就是DOM0级事件的缺点。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.DOM2级事件处理:
(1)addEventListener("事件名",“事件处理函数”,“布尔值”)
true:事件捕获。
false:事件冒泡。
(2)removeEventListener();
详细前几我上篇里面的 DOM EventListener.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
例:
<div id="div">
<button id="btn">按钮</button>
</div>
<script>
var btn1=document.getElementById("btn").addEventListener("click",demo);
function demo(){
alert("DOM2事件。");
}
</script>
结果:按钮,点击按钮,弹出提示框DOM2事件。
优点:对比于DOM0级事件,DOM2级不会有覆盖现象。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----------------------------------------------------------------------------------------
4.IE事件处理程序
attachEvent:添加事件;
detachEvent:移除事件。
(ps:这两个的运用原理跟addEventListener()和removeEventListener()差不多,只是涉及到浏览器的是否能执行后用的,处理兼容问题。)
-------------------------------------------------------------------------------------------
例:(解决了兼容问题的例子,综合例子。)
<div>
<button id="btn1">按钮</div>
</div>
<script>
var btn1=document.getElementById("btn1");
if(btn1.addEventListener()){
btn1.addEventListener("cilck",demo);
}else if(btn1.attachEvent){
btn1.attachEvent("onclick",demo);
}else{
btn1.onclick=demo();
}
function demo(){
alert("综合例子");
}
</script>
javascript事件详解1的更多相关文章
- JavaScript事件详解-jQuery的事件实现(三)
正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...
- JavaScript事件详解-Zepto的事件实现(二)【新增fastclick阅读笔记】
正文 作者打字速度实在不咋地,源码部分就用图片代替了,都是截图,本文讲解的Zepto版本是1.2.0,在该版本中的event模块与1.1.6基本一致.此文的fastclick理解上在看过博客园各个大神 ...
- JavaScript事件详解-zepto的事件实现
zepto的event 可以结合上一篇JavaScript事件详解-原生事件基础(一)综合考虑源码暂且不表,github里还有中文网站都能下到最新版的zepto.整个event模块不长,274行,我们 ...
- JAVASCRIPT事件详解-------原生事件基础....
javaScirpt事件详解-原生事件基础(一) 事件 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间,通过监听特定事件的发生,你能 ...
- javascript - 事件详解
一.事件流 1.事件流 描述的是在页面中接受事件的顺序 2.事件冒泡 由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点 (最具体 –> 最不具体) 3.事件捕获 最不具体的节点先接收事 ...
- JavaScript事件详解
1.事件传播机制:事件冒泡,事件捕获. 2.注册事件处理程序方式: 设置html标签属性为事件处理程序,文档元素的事件处理程序属性,名字由“on”后面跟着事件名组成,例如:onclick,o ...
- javascript - 事件详解(阻止事件冒泡+阻止事件行为)
一.事件流 1.事件流 描述的是在页面中接受事件的顺序 2.事件冒泡 由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点 (最具体 –> 最不具体) 3.事件捕获 最不具体的节点先接收事 ...
- 原生JavaScript事件详解
JQuery这种Write Less Do More的框架,用多了难免会对原生js眼高手低. 小菜其实不想写这篇博客,貌似很初级的样子,但是看到网络上连原生js事件绑定和解除都说不明白,还是决定科普一 ...
- 第三天:JS事件详解-事件流
学习来源: F:\新建文件夹 (2)\HTML5开发\HTML5开发\04.JavaScript基础\6.JavaScript事件详解 学习内容: 1)基础概念 2)举例说明: 代码如上,如果用事件 ...
随机推荐
- MSbuild 教程
在.Net framework中,一个不太被大家熟知的工具就是MSBuild.这个命令行工具通过执行XML脚本可以自动生成软件工程文件. 但问题来了,“我为什么想要我的生成过程自动化?”. 其实,大部 ...
- Solr -- Solr Facet 2
solr将以导航为目的的查询结果称为facet. 它并不会修改查询结果信息, 只是在查询结果上根据分类添加了count信息, 然后用户根据count信息做进一步的查询, 比如淘宝的查询列表中, 上面会 ...
- POJ1664
Problem B Time Limit : 2000/1000ms (Java/Other) Memory Limit : 20000/10000K (Java/Other) Total Su ...
- Linux学习笔记30——套接字
一 什么是套接字 套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发既可以在本地单机上进行,也可以跨网络进行. 二 套接字属性 套接字的特性由3个属性确定,它们是:域,类型和协议 1 套接 ...
- 折腾iPhone的生活——设置“查找我的iPhone”,让iPhone更防盗
对于iPhone,防盗一直是一个非常那啥的话题,很多买过iPhone的人都被偷过,但疼,然而苹果也看到了这个问题,所以在iOS7,我们终于看到了一个比较靠谱的防盗软件:查找我的iPhone 之前小偷解 ...
- 模糊化GPU滤镜汇总
GPUImageTiltShiftFilter 这是一个模糊图片上下两层的滤镜效果,可以调节模糊边界,可以调节模糊程度 总共4个参数,具体如下 //模糊度的调节,0为最清晰,后面越来越模糊 ...
- Goole音乐搜索
本博文的主要内容有 .Goole音乐搜索的介绍 1.Goole音乐搜索的介绍 https://zh.wikipedia.org/wiki/%E8%B0%B7%E6%AD%8C%E9%9F%B3% ...
- Google桌面搜索引擎
本博文的主要内容有 .Google桌面搜索引擎的下载 .Google桌面搜索引擎的安装 .Google桌面搜索引擎的使用 1.Google桌面搜索引擎的下载 http://download.csd ...
- Hadoop Hive概念学习系列之什么是Hive?(一)
参考 <Hadoop大数据分析与挖掘实战>的在线电子书阅读 http://yuedu.baidu.com/ebook/d128cf8e33687e21 ...
- windows下 tomcat7 配置成服务
最简单方法:下载windows安装版,下一步下一步搞定! 非安装版: 1.下载tomcat7 windows版 2.首先找到F:\apache\bin\service.bat(不同的计算机Tomcat ...