在网上百度到的解决办法,感觉不错,和大家分享一下。

在CSS样式里加一句代码“body{behavior:url("文件夹/csshover.htc");}”即可。

csshover.htc文件可以在网上搜索下载,也可以自己建立,文件具体内容如下:

<attach event="ondocumentready" handler="parseStylesheets" />

<script language="JScript">

var currentSheet, doc = window.document, activators = {

onhover:{on:'onmouseover', off:'onmouseout'},

onactive:{on:'onmousedown', off:'onmouseup'}

}

function parseStylesheets() {

//window.alert("hi");

var sheets = doc.styleSheets, l = sheets.length;

for(var i=0; i<l; i++) 

   parseStylesheet(sheets[i]);

}

function parseStylesheet(sheet) {

   if(sheet.imports) {

    try {

     var imports = sheet.imports, l = imports.length;

     for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]);

    } catch(securityException){}

   }

try {

    var rules = (currentSheet = sheet).rules, l = rules.length;

    for(var j=0; j<l; j++) parseCSSRule(rules[j]);

   } catch(securityException){}

}

function parseCSSRule(rule) {

   var select = rule.selectorText, style = rule.style.cssText;

   if(!(/(^|\s)(([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active)/i).test(select) || !style) return;

  

   var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1');

   var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[a-z]+)/gi, '.$2' + pseudo);

   var className = (/\.([a-z0-9_-]*on(hover|active))/i).exec(newSelect)[1];

   var affected = select.replace(/:hover.*$/, '');

   var elements = getElementsBySelect(affected);

currentSheet.addRule(newSelect, style);

   for(var i=0; i<elements.length; i++)

    new HoverElement(elements[i], className, activators[pseudo]);

}

function HoverElement(node, className, events) {

if(!node.hovers) node.hovers = {};

if(node.hovers[className]) return;

node.hovers[className] = true;

node.attachEvent(events.on,

   function() { node.className += ' ' + className; });

node.attachEvent(events.off,

   function() { node.className = 

    node.className.replace(new RegExp('\\s+'+className, 'g'),''); });

}

function getElementsBySelect(rule) {

var parts, nodes = [doc];

parts = rule.split(' ');

for(var i=0; i<parts.length; i++) {

   nodes = getSelectedNodes(parts[i], nodes);

} return nodes;

}

function getSelectedNodes(select, elements) {

   var result, node, nodes = [];

   var classname = (/\.([a-z0-9_-]+)/i).exec(select);

   var identify = (/\#([a-z0-9_-]+)/i).exec(select);

   var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, '');

   for(var i=0; i<elements.length; i++) {

    result = tagName? elements[i].all.tags(tagName):elements[i].all; 

    for(var j=0; j<result.length; j++) {

     node = result[j];

     if((identify && node.id != identify[1]) || (classname && !(new RegExp('\\b' +

      classname[1] + '\\b').exec(node.className)))) continue;

     nodes[nodes.length] = node;

    }

   } return nodes;

}

</script>

[小知识点]IE6下不支持:hover的解决方法的更多相关文章

  1. bootstrap支持ie8 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法

    做一个在线系统,PC端也要做,但要兼容千恶的IE8[IE6 是万恶,打死我都不会管IE6],IE8 是我底线了md, 在IE8下 bottstrap 错乱,变形,不支持一些属性的问题,下面看了一篇 某 ...

  2. 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法--(转)

    如有雷同,不胜荣幸,若转载,请注明 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了boot ...

  3. 转载------让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法

    本文是转载及收藏 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法 最近做一个Web网站,之前一直觉得bootstrap非常好,这次使用了bootstrap3,在c ...

  4. win7 创建vhd提示“找不到指定文件的虚拟磁盘支持提供程序”解决方法

    本文参照:https://itbbs.pconline.com.cn/diy/16509116_2.html 14楼中"坚持不放弃"用户的答案得到解决 问题复现: 1.window ...

  5. Myeclipse下JSP打开报空指针异常解决方法。

    Myeclipse下JSP打开报空指针异常解决方法 一.运行JSP文件就出错 静态的JSP页面访问时候正常,只要是牵涉到数据库的页面就出错,出错见下图. 出现这种情况让我调试了一天,各种断点,各种改代 ...

  6. Windows下mysql忘记密码的解决方法

    Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...

  7. mac下MySQL出现乱码的解决方法

    之前写过一篇Linux下MySQL出现乱码的解决方法,本文说下mac下的处理,其实处理方式是一样的,我电脑的mysql版本是5.7.26-log 网上很多帖子都说去/usr/local/mysql/s ...

  8. 关于img标签浏览器自带的边框,清除边框的解决方式(即img[src=""] img无路径情况下,灰色边框去除解决方法)

    详解img[src=""] img无路径情况下,灰色边框去除解决方法 1.Js解决办法 <html> <head> <meta charset=&qu ...

  9. 解决IE6下不支持 png24的透明图片问题

    常用的两种解决方案: 第一:使用IE滤镜解决 关键代码: css代码  _background:none;_filter:progid:DXImageTransform.Microsoft.Alpha ...

随机推荐

  1. Effective MySQL之备份与恢复

    五分钟成为一名DBA 如果我们已经有了一个MySQL生产级系统,而该产品却没有MySQL备份策略,那么我们至少应该做些什么呢?在采取任何备份策略之前,有许多有关数据库大小和存储策略引擎的用法的预备知识 ...

  2. codevs 1256 打鼹鼠 LIS

    题目链接 题目描述 Description 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的. 根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时 ...

  3. H3C交换配置PBR最佳实践

    简要说明 PBR算是比较常用的功能,需要我们去掌握一下 配置步骤简要 配置BFD 配置track 配置acl 配置policy-based-route 在接口上面应用policy-based-rout ...

  4. (iOS)关于GCD死锁的问题

    - (void)viewDidLoad { [super viewDidLoad]; dispatch_sync(dispatch_get_main_queue(), ^{NSLog("); ...

  5. SQL Server 中同时操作的例子:

    在SQL 中同一逻辑阶段的操作是同时发生的. 先有一个例子做为带入: declare @x as int =1;declare @y as int =2;set @x=@y;set @y=@x;sel ...

  6. Umbraco学习2------数据类型

    一.基础概念 在使用Umbraco这类CMS制作网站之前,先要搞清楚的是,和概念中网站制作的区别. 暂时忘掉所谓的ADO.NET存储.忘掉ASP.NET.忘掉多层架构什么的. 只需要关注:要显示什么. ...

  7. android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理

    代码如下:package com.android.xym; import java.io.IOException; import java.net.HttpURLConnection; import ...

  8. css em

    em与px换算 任意浏览器的默认字体高度16px(16像素).所有未经调整的浏览器都符合: 1em=16px.那么,12px=0.75em,10px=0.625em.为了简化font-size的换算, ...

  9. Netty那点事: 概述, Netty中的buffer, Channel与Pipeline

    Netty那点事(一)概述 Netty和Mina是Java世界非常知名的通讯框架.它们都出自同一个作者,Mina诞生略早,属于Apache基金会,而Netty开始在Jboss名下,后来出来自立门户ne ...

  10. CDialogSK - A Skinnable Dialog Class

    Introduction This class is derived from the MFC CDialog. It supports the following features :- If ru ...