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
相关文档:
今天看jQuery的时候发现的书写形式原来没有见过 如下:
(function(){
statement
...
})();
不理解,后来上网查了一下,原来是javascript匿名函数的调用方式
http://zhidao.baidu.com/question/95789340.html
javascript 可以以下方式调用函数
声明
a = function(){};
调用
a();
可以理解为
(function(){ ......
你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。
几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器。由于Chrome出生名门,尽管他还是个小家伙,没有人敢小 ......
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() {
  ......
下面两个方法实现了数组中去掉 前面 或者 后面的 重复项
去掉前面的重复项方法 把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++)
{
......