javascript - 如何在点击时切换鼠标悬停事件?
问题描述
我想改变悬停元素的颜色。但是我想在单击元素时禁用悬停效果并将单击的元素设置为红色。再次,如果有人点击元素,我想启用悬停效果并应用悬停效果。
$('.divElement').on('mouseenter', function () {
$(this).addClass('red');
});
$('.divElement').on('mouseleave', function () {
$(this).removeClass('red');
});
$('.divElement').on('click', function () {
$(this).removeClass('red');
$(this).off('mouseenter mouseleave');
});
我试过这个 jQuery 代码。
<div class="divElement">Element 1</div>
<div class="divElement">Element 2</div>
<span class="divElement">Element 3</div>
<div class="divElement">Element 4</div>
.divElement {
color: blue;
}
.divElement.red {
color: red;
}
解决方案
尝试这个
$('.divElement').click(function(){
if($(this).hasClass("red")||$(this).hasClass("selected")){
$('.divElement').toggleClass("red");
$(this).toggleClass("selected");
}
});
.red:hover,.selected{
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<div class="divElement red">Element 1</div>
<div class="divElement red">Element 2</div>
<span class="divElement red">Element 3</span>
<div class="divElement red">Element 4</div>
推荐阅读
- excel - 从 Excel 中删除链接文件
- r - 替换 R 中数据框中出现值的位置
- node.js - 模型表未在 mysql loopback 3 中自动创建
- python - 如何在 android (kivy) 上通过 python 多处理使用共享内存?
- vb.net - 在 VB.Net 2019 中一一播放不同的 MP3 文件
- neo4j - 在 Neo4j 中,如何在一个节点和一组其他节点之间创建关系?
- arrays - 如何让 React Hooks 返回一个数组
- r - R中naive_bayes的预测数据帧中的因素
- c++ - 为什么它说#include
包含在c++中时不包含? - html - 溢出锚不适用于滚动顶部位置