js 一些常见的使用方法
// target : 不管是否出现冒泡,他都是代表最开始引发事件的对象
// this : 是指当前函数。
//ie 事件对象 : window.event
//其它浏览器事件对象 : ev 必需通过函数传递参数,传过来.
var oEvent = window.event || ev;
var oTarget = oEvent.target || oEvent.srcElement;
//事件类别
oEvent.type;
1)IE浏览器:
//绑定事件
//window.event.attachEvent("onclick",function(){});
//解除绑定
//window.event.detachEvent('onclick',function (){});
//冒泡和捕获
//window.event.cancelBubble = true;
//去除默认行为
//window.event.returnValue = false;
2)其它浏览器:
//绑定事件
//event.addEventListener("click",function(){},false);
//解除绑定
//event.removeEventListener('click',function (){},false);
//捕获
//event.stopPropagation();
//去除默认行为
//event.preventDefault();
3)其它的事件属性
type string 事件的名称.DOM中
bubbles boolean 表示事件是否是否在冒泡阶段中
charCode 按下健的unicode值,和IE的keyCode不一样
currentTarget 事件目前所指向的元素
detail integer 鼠标点按钮被点击的次数
eventPhase integer 1=捕获阶段,2=在目标上,3=冒泡阶段
isChar Boolean 表示按键是否时字符
preventDefault Function 调用这个方法可以终止事件的默认行为
relatedTaget 事件的第二个目标,经常用户鼠标事件
stopPropagation 调用这个方法,组织事件将来事件的冒泡.
4)冒泡、捕获
冒泡:
子节点优先
捕获:
ie8以下不支持捕获
父节点优先
为一个web开发者,你可以选择是在捕获阶段还是冒泡阶段绑定事件处理函数,这是通过addEventListener()方法实现的,如果这个函数的最后一个参数是true,则在捕获阶段绑定函数,反之false,在冒泡阶段绑定函数。
假设你要做:
element1.addEventListener('click',doSomething2,true)
element2.addEventListener('click',doSomething,false)
5) javascript执行环境: