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浏览器。