注册事件处理器

1.<a href='' onclick="hight()"></a>

2.var x=document.getElementById("test");

x.onclick=hight;

3.表单域可能已经拥有了一个值,也可以选择直接执行它们而不是等着事件发生

x[i].onkeyup=x[i].onchange=checkMaxLength;

x[i].onkeyup();

els[i].onchange=assignStyless;

els[i].onchange();

 

window.onload=function(){};

window.onload=init;

function init(){};

高级的事件程序

w3c模型

x.addEventListener('click',doThis,false)

微软模型

x.attachEvent('onclick',dothis);

x.attachEvent('onclick',dothat);

一般来说,你不能多次添加同一个事件处理程序,看下面的代码:

x.addEventListener('click',dothis,false);

x.addEventListener('click',dothis,false);

如果用户点击该元素,dothis只会执行一次,而不是两次,explorer中是个意外,以下的代码将到导致该函数在一次点击后执行两次:

x.attachEvent('onclick',dothis)

x.attachEvent('onclick',dothis)

移除事件处理程序

x.removeEventListener('click'.dotthis,false)

x.detachEvent('click',dothis)

传统模式中,这是可能的:

x.onclick=null;

function addEventSimple(obj,evt,fn){

if(obj.addEventListener)

obj.addEventListener(evt,fn,false);

else if(obj.attach)

obj.attachEvent('on'+evt,fn);

function removeEventSimple(obj,evt,fn)

{

if(obj.removeEventListener)

obj.removeEventListener(evt,fn,false);

else if(obj.detachEvent)

obj.detachEvent('on'+evt,fn)

}

微软模型不支持事件捕获

微软模型把事件处理函数视为一个全局函数,而不是被注册到的html元素的一个方法

}

}

你可能感兴趣的:(事件)