当前位置: 首页 > 面试题库 >

我可以通过JavaScript禁用CSS:hover效果吗?

徐安康
2023-03-14
问题内容

我试图阻止浏览器:hover通过JavaScript 使用CSS 的效果。

我在CSS中设置了aa:hover样式,因为如果JS不可用,我希望获得悬浮效果。但是,如果 可用的JS
,我想用更平滑的效果覆盖CSS悬停效果(例如,使用jQuery color插件)。

我尝试了这个:

$("ul#mainFilter a").hover(
     function(e){ e.preventDefault(); ...do my stuff... }, 
     function(e){ e.preventDefault(); ...do my stuff... });

我也尝试过使用return false;,但是它不起作用。

如fudgey所述,一种解决方法是使用重置悬浮样式,.css()但我必须覆盖CSS中指定的每个属性。我正在寻找一个通用的解决方案

有谁知道如何做到这一点?

PS:我不想覆盖为悬停设置的所有样式。


问题答案:

恐怕没有纯粹的JavaScript通用解决方案。JavaScript无法关闭CSS :hover状态本身。

您可以尝试以下替代解决方法。如果您不介意在HTML和CSS中多花钱,那么您不必通过JavaScript手动重置每个CSS属性。

的HTML

<body class="nojQuery">

CSS

/* Limit the hover styles in your CSS so that they only apply when the nojQuery 
class is present */

body.nojQuery ul#mainFilter a:hover {
    /* CSS-only hover styles go here */
}

JavaScript

// When jQuery kicks in, remove the nojQuery class from the <body> element, thus
// making the CSS hover styles disappear.

$(function(){}
    $('body').removeClass('nojQuery');
)


 类似资料:
  • 问题内容: 我有以下具有轻松效果的css3过渡: HTML CSS 如果我将p#myId选择器更改为pCSS,它将起作用(按钮 在悬停时会上升),否则不会起作用。 问题答案: 问题是,选择处理您的:hover行为具有较低的 特异性比默认行为(规则p#id选择器)。 改变这个 to this 将解决问题: Running example 您还可以将ID应用于父对象(例如说 ),然后使用

  • 问题内容: 如何通过 JNI 从Node.js调用Java ?有没有例子? 问题答案: 看起来很棘手。Node.JS在Google Chrome JavaScript引擎V8上运行。您将要做的是创建一个V8 C ++绑定(一个v8 c ++崩溃课程 显示了一个示例),该绑定启动JVM并执行所有JNI处理。 我认为让JavaServer和Node.js通过网络进行通信可能更好(有人写了一个使用Rab

  • 问题内容: 我有一个想要在点击时更改的图像元素。 这有效: 但是我需要的是: 但是,这显然不起作用。CSS 根本有可能有行为(即不使用JavaScript)吗? 问题答案: 最接近的是: 但是,这仅在按住鼠标按钮时才适用。应用样式 并使之保持 onclick 的唯一方法是使用一些JavaScript。

  • 问题内容: 我正在尝试读取一个自定义(非标准)CSS属性,该属性在样式表(而非内联样式属性)中设置并获取其值。以这个CSS为例: 我已经设法通过IE7中的currentStyle属性获取其值: 但是currentStyle是特定于MS的。所以我在Firefox 3和Safari 3中尝试了getComputedStyle(): …并且返回未定义。 有谁知道跨浏览器的方法来获取自定义CSS属性值?

  • 问题内容: 情况1:这不会引起?。谁能告诉我为什么这不会导致ConcurrentModificationException。 情况2:这是由于我尝试访问AsyncThread中的线程不安全的人员列表。我可以使我的“人员列表”实现是线程安全的,并且应该可以运行。 谁能解释我到底发生了什么。我无法理解这是如何解决问题的。 案例2是否将实现从更改为推荐? 添加例外: 05-28 20:34:21.073

  • 我有一个图像元素,我想改变点击。 这项工作: 但我需要的是: 但是,很明显,它不起作用。在CSS中是否有可能有行为(即不使用JavaScript)?