易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript中事件event详解

脚本中的事件有2种模型
1、  冒泡型事件:事件是按照从最特定的目标到最不特定的事件目标(document)的顺序依次触发。这是针对不同元素的同一事件类型
如:
<html  onclick=”handleClick()”>
<head></head>
<body onclick=”handleClick()”>
  <div  onclick=”handleClick()”>
</body>
</html>
click事件的触发顺序为div——>body——>document
微软的IE就采用的是冒泡事件模型
2、  捕获型事件:和冒泡事件相反,事件是按照从最不特定的目标(document)到最特定的目标的顺序依次触发。这是针对不同元素的同一事件类型
 如上面的示例,handleClick事件的触发顺序为document——>body——>div
标准的DOM采用两种事件模型,既有捕获型事件,又有冒泡型事件,用户可以根据需求选择相应的事件模型
事件处理函数的绑定\卸载:
1、  针对IE
[object].attachEvent(“name_of_event_handler”,fnhandler);
[object].detachEvent(“name_of_event_handler”,fnhandler);
如:
var  dom=document.getElementById(“div1”);
dom.attachEvent(“onclick”,handlerClick)
注意:一定要在事件类型前加on
2、  针对兼容DOM的浏览器
[object].addEventListener(“name_of_event”,fnhandler,bCapture);
[object].removeEventListener(“name_of_event”,fnhandler,bCapture);
注意,第三个参数bCapture标示选择的事件模型,为true,选择捕获型事件模型,为false,选择冒泡型事件模型
如:
var dom =document.getElementById(“div1”);
dom.addEventListener(“click”,handleClick);
阻止事件的传递:
1、  阻止事件的默认行为
事件的默认行为是指一些元素自身绑定的事件处理函数,像鼠标右键事件,文本框的输入事件等。
如果要阻止鼠标的右键事件,可以采用
l         IE
window.event.returnValue=false;
l         DOM兼容的浏览器
oEvent.preventDefault();  //oEvent在DOM中就是事件对象
两者兼容的方法
 
document.body.oncontextmenu=functi


相关文档:

关于javascript 匿名函数的调用方式

今天看jQuery的时候发现的书写形式原来没有见过 如下:
(function(){
statement
...
})();
不理解,后来上网查了一下,原来是javascript匿名函数的调用方式
 http://zhidao.baidu.com/question/95789340.html
javascript 可以以下方式调用函数
声明
a = function(){};
调用
a();
可以理解为
(function(){ ......

JavaScript判断浏览器类型及版本

      你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。
       几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器。由于Chrome出生名门,尽管他还是个小家伙,没有人敢小 ......

javascript 中的继承方法

1.可以通过prototype属性,实现继承方法的方式,这种方式就是java语言中继承的变换形式。
 // Create the constructor for a Person object
function Person( name ) {
    this.name = name;
}
// Add a new method to the Person object
Person.prototype.getName = function() {
   ......

javascript 去掉数组中前或后重复项

下面两个方法实现了数组中去掉 前面 或者 后面的 重复项
去掉前面的重复项方法 把array [1, 2, 3, 1, 4, 5]去掉前面重复项 得到 [2, 3, 1, 4, 5].
function unique(a)
{
var r = new Array();
o:for(var i = 0, n = a.length; i < n; i++) {
for(var x = i + 1 ; x < n; x++)
{
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号