一.事件冒泡与事件捕获
事件捕获:由外向内寻找事件源的过程。
事件冒泡:事件从事件源由内向外传播的过程。
二.指派事件监听者
1.在JavaScript中指定事件处理程序,动态指派
<p
id="inner">点击</p>
<script type="text/javascript">
function
tt(){
alert(this.id);
}
var
inner=document.getElementById("inner");
inner.onclick=tt;
</script>
2.在XHTML标记的事件处理属性中指定,静态指派
<p id="inner"
onclick="tt()">点击</p>
效果同如下JavaScript执行
var inner=document.getElementById("inner");
inner.onclick=function(){
tt();
};
两种方式的不同点如下图
所以动态指派返回inner,静态指派返回undefined
注意:事件处理程序的返回值可以影响事件的默认行为,默认行为是事件发生,返回一个false值可以取消事件的默认行为。
所以在静态指派时,添加<p
id="inner" onclick="return
tt()">点击</p>,才能返回正确的boolean值给onclick。
注意:== 内容相等 === 类型,内容都相等
3.现代事件处理程序指派方法
if(obj.attachEvent){
//ie式
obj.attachEvent("onclick",tt)
obj.detachEvent("onclick",tt)
}
else{
//dom式,第三个参数标识处理程序是用在捕获阶段(true),还是用在冒泡阶段(false)
obj.addEventListener("click",tt,false);
obj.removeEventListener("click",tt,false);
}
三.事件对象
if(window.event){
var
event=window.event;//ie式
}
else{
var
event=arguments[0];//dom式
}
注意:获取键盘键值和获取键盘输入值
keydown关注键值 keypress关注输入值
|
|
keyCode |
charCode |
IE |
keydown |
键值 |
不支持 |
|
keypress |
输入值 |
不支持 |
FF |
keydown |
键值 |
0 |
|
keypress |
0 |
输入值 |
分享到:
相关推荐
详细的js事件模型,描述各类JS事件以及不同浏览器的兼容性问题。
ECMA-357,很不错的教程,和大家分享了,我花了好长时间找到的
一、原始事件模型 其事件类型:分为”输入事件(如onclicki)”和”语义事件(如onsubmit)” 事件程序的注册可以以下几种方式: 1、JS代码作为HTML性质值 复制代码 代码如下:<input type=”button” value=”Press me...
本文实例讲述了javascript事件模型的用法。分享给大家供大家参考。具体分析如下: 一、事件模型 冒泡型事件(Bubbling):事件由叶子节点沿祖先节点一直向上传递到根节点 捕获型事件(Capturing):由DOM树最顶元素...
javascript事件模型代码
智慧城市模型-threejs的模型文件
使用threejs渲染养殖场模型源码 Threejs渲染obj+mtl模型,Threejs加载3D模型 Threejs实现引入工厂模型,加载obj+mtl,可用于学习研究,二次开发
Three.js模型包,包含各种示例使用模型
1、函数指针进化论 2、Java事件模型 3、.NET(C#)事件模型 4、DOM和JavaScript事件模型 5、Flex和ActionScript3事件模型
javascript Event(事件模型),针对于javascript事件的处理,具有一些帮助。
目前点击物体让物体单独变色还有问题,其他的都是自己敲的,欢迎下载指导
JavaScript 一个最简单的事件模型,需要有事件绑定与触发,还有事件删除。 var eventModel = { list: {}, bind: function () { var args = [].slice.call(arguments), type = args[0], handlers = args.slice...
JavaScript对象模型
通过原生JavaScript实现一个简单的DOM事件模型,关于该资源的描述请参考:http://blog.csdn.net/gameloft9/article/details/51228191
threejs加载模型的几种方式,包括stl类型以及obj格式,附带案例。
学习JavaScript也需要了解它的运行平台,为了更好的理解JavaScript的事件模型,我打算从Node及浏览器引擎源码入手,分析其底层实现,并将我的分析整理为一系列博文;一方面作为笔记,另一方面也希望能与大家交流,...