javascript消除IE6下hover难题的不二诀窍_javascript本领_脚本之家

总结了一下,主要在以下两个方面:
1.在IE中脚本不能以setAttribute,必须采用element.style.property=value的方式来实现某个元素的呈现效果。
eg.document.getElementById.style.fontweight=”normal”;
2.IE不支持以setAttribute()来设置其响应事件,虽然这在W3c标准中是被支持,解决方法是采用标记法引用响应事件的处理程序,然后调用相关的处理函数的匿名函数来设置事件程序。
eg.document.getElementById.onclick=function (){ deal_with_onclick() };
注:其中deal_with_onclick() 是onclick事件的处理函数。

微软此举的意图很明显——以一种极小的代价“实现”
DOM2的全部接口。这里举两个例子: 复制代码
代码如下: Element.prototype.addEventListener = function { return
this.attachEvent(‘on’ + evtType, evtHandler); }
Object.defineProperty(Event.prototype, ‘target’, { get: function() {
return this.srcElement }, set: function { return this.srcElement = v }
});
这似乎和早年使用__definegetter__之流让Firefox兼容IE的方法一致,不过这次使用的是完全标准的方法来弥补IE的缺憾。可能IE8开发时重写了渲染引擎但是没来及发布新的DOM接口,所以给出了这个方案。

有时候我们想在非a标签上加hover元素
但是我们都知道IE6下不支持XX:hover,所以我们现在可以用js实现掉:代码如下

在submit()后加个return false就可以了。如: 复制代码 代码如下: document.formname.submit();
return false; 以后要注意了 后面尝试了另一种方法: 复制代码 代码如下: if .validationEngine{
document.getElementById; } 也是可以的

   无标题文档  #nav li:hover, #nav li.stest { font-weight:700; color:red; }    
  • 列表一
  • 列表一
  • 列表一

以上内容就是告诉大家javascript解决IE6下hover问题的方法,希望对大家的学习有所帮助。

相关文章