javascript 事件流及应用
当页面元素触发事件的时候,该元素的容器以及整个页面都会按照特定顺序发生该元素的触发
事件,事件传播的顺序叫做事件流
1.事件流的分类:
A.冒泡型事件(所有浏览器都支持)
由明确的事件源到最不确定的事件源依次向上触发
a(此引发事件)->p->div->body
B.捕获型号事件(IE不支持,符合w3c标准,火狐支持)
不确定的事件源到明确的事件源一次向下触发。
addEventListener(事件,处理函数,bool);
2.阻止事件流
IE:
事件对象.cancelBubble = true;
FF:
事件对象.stopPropagation();
3.目标事件源的对象
IE: 事件对象.srcElement
FF: 事件对象.target
例子:
<table id="tab">
<tr>
<th>1111</th>
<th>222</th>
</tr>
<tr>
<td>1111</td>
<td>222</td>
</tr>
</table>
<script>
window.onload = function(){
var tab = document.getElementById("tab");
tab.ondblclick = function(e){
var ev = e || window.event;
var tdobj = ev.srcElement || ev.target;
if(tdobj.nodeName == "TH"){
return;
}
var tdtext = tdobj.innerHTML;
tdobj.innerHTML = "";
var inputs = document.createElement("input");
inputs.type = "text";
inputs.size = 8;
tdobj.appendChild(inputs);
inputs.focus();
inputs.onblur = inputs.ondblclick = inputs.onkeydown = function
(e){
var ev = e || window.event;
if(ev.type == "blur" || ev.type == "dblclick" || (ev.type
== "keydown" && ev.keyCode == 13)){
var val = this.value;
tdobj.removeChild(inputs);
if(val == ""){
tdobj.innerHTML = tdtext;
}else{
tdobj.innerHTML = val;
}
}
}
}
}
</script>
最新文章
- C++中的数组越界
- Andriod Studio adb.exe,start-server&#39; failed -- run manually if necessary 解决
- html5 自定义验证信息
- php后台多用户权限组思路与实现程序代码
- LeetCode - 30. Substring with Concatenation of All Words
- PHP 防范xss攻击
- cookieContainer应用
- MySQL - 复制数据表
- scipy安装失败
- IOS开发-UI学习-UITabBarController的使用
- 我的前端故事----关于redux的一些思考
- java内部类(转)
- LindDotNetCore~添加路由前缀
- [Swift]LeetCode132. 分割回文串 II | Palindrome Partitioning II
- Angular4 构建,部署,多环境
- 【PHP篇】字符串基础
- 分页插件pagination.js
- Go 用JSON加载表格数据
- 关于STL容器
- R语言学习笔记(五)绘图(1)
热门文章
- sqlplus 连接数据库报错SP2-0642: SQL*Plus internal error state 2130, context 0:0:0
- [每日一题] 11gOCP 1z0-053 :2013-10-9 backup with the KEEP option....................................33
- jQuery获取鼠标移动方向
- OutLook中发送用户密码加密的小技巧
- Java 动态生成 复杂 .doc文件
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
- codeforces 132C Logo Turtle--- dp dfs
- mysql查询语句举例
- Extended ComboBox添加图标
- WPF制作QQ列表(仿qq列表特效)