亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以通過JavaScript禁用CSS:hover效果嗎?

我可以通過JavaScript禁用CSS:hover效果嗎?

四季花海 2019-10-18 10:35:24
我試圖阻止瀏覽器:hover通過JavaScript 使用CSS 的效果。我在CSS中設置了a和a: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;,但是它不起作用。這是我的問題的一個示例:http : //jsfiddle.net/4rEzz/。鏈接應該淡出而不會變灰。如fudgey所述,一種解決方法是使用重置懸浮樣式,.css()但是我必須覆蓋CSS中指定的每個屬性(請參見http://jsfiddle.net/raPeX/1/)。我正在尋找一個通用的解決方案。有誰知道如何做到這一點?PS:我不想覆蓋為懸停設置的所有樣式。
查看完整描述

3 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

恐怕沒有純粹的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');

)


查看完整回答
反對 回復 2019-10-18
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

使用僅分配了懸停的第二類:


的HTML


 <a class="myclass myclass_hover" href="#">My anchor</a>

的CSS


 .myclass { 

   /* all anchor styles */

 }

 .myclass_hover:hover {

   /* example color */

   color:#00A;

 }

現在,您可以使用Jquery刪除該類,例如,如果元素已被單擊:


JQUERY


 $('.myclass').click( function(e) {

    e.preventDefault();

    $(this).removeClass('myclass_hover');

 });

希望這個答案有幫助。


查看完整回答
反對 回復 2019-10-18
  • 3 回答
  • 0 關注
  • 4643 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號