IE和FF中JS事件差异的详细分析

道路宜搜搜索项目的分类是通过动态JS生成,生成的每个元素是动态添加的属性和事件。在这方面,添加属性可用于分配的方式,这是适用于IE和FF。例如:

VaR元= document.createelement('select);

element.id =myselect ;

上面的语句在IE和FF中都会有同样的效果,并且运行正常,但是我们创建的大多数元素都是动态地添加事件给他们的。显然,我们不能仅仅因为添加属性而玩点,然后写一个事件名,后面是一串代码,这是错误的,所以我们可以用下面的方法添加事件:

首先,我们要确定当前的浏览器是什么,我们仍然继续使用前面的定义,

如果(元。attachevent){

IE浏览器和IE浏览器内核(1)

} else if(元。addEventListener){

FF和ns浏览器内核(2)

}

上面的if语句块是一个判断,帮助我们完成当前浏览器IE或FF。

浏览器判断,我们要做的是将函数注册到元素中:

功能showelementid(元素){

警报(元素。ID);

}

函数的功能非常简单,就是提示参数中元素的ID。

如果是IE浏览器,我们将下面的代码插入到上面的注释(1)中:

element.attachevent(onclick

如果是FF浏览器,我们将下面的代码插入到上面的注释(2)中:

VaR的事件=onclick。取代( / /我,1美元(2));
element.addeventlistener(事件,函数(){ showelementid(元素)},假);

因为当事件在FF中注册为元素时,您不需要在事件名称的前面,因此被替换。

好吧,如果你将来在开发项目中,当你使用JS动态地将事件添加到元素中时,你可以使用上面的方法,这将阻止用户使用你无法使用的FF浏览器。