首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么onmouseover和onclick不能一起工作,设置div样式,以及如何在不丢失onmouseover的情况下重置onclick设置样式?

为什么onmouseover和onclick不能一起工作,设置div样式,以及如何在不丢失onmouseover的情况下重置onclick设置样式?
EN

Stack Overflow用户
提问于 2013-10-22 00:16:12
回答 1查看 2.5K关注 0票数 1

首先,我必须说,我处于一个非常基本的编程水平。这些问题的答案对一些人来说可能是显而易见的,但我只是想不出一种把所有这些都结合起来的方法。提前谢谢。

我有这个HTML代码:

代码语言:javascript
运行
AI代码解释
复制
<div id="vectores" class="categoria" onclick="this.style.color='#000'; this.style.textDecoration='underline'; mostraVectores('vectores0','vectores')" onmouseover="this.style.color='#000'; this.style.textDecoration='underline'" onmouseout="this.style.color='#999'; this.style.textDecoration='none'">Tema 1. Mec&aacute;nica vectorial</div>
    <div id="vectores0" class="subcategoria"></div>

我在这里使用'onclick‘在样式“永久”中进行这个更改,因为我希望它是一个“菜单选项”,我希望它触发函数,但也改变它的外观,这样就可以很容易地判断它是否被选中了。我一直使用'onmouseover‘来让用户知道指针“将要选择”什么(菜单有更多的选项)。

问题似乎是他们不愿合作。我想这仅仅是因为一旦'onmouseover‘设置了新样式,编译器就不会再次为div设置相同的样式,如果第二个事件(onclick)请求它的话。

下面是该类的css代码:

代码语言:javascript
运行
AI代码解释
复制
.categoria{
color:#999;
font-weight:bold;
padding:2px;
padding-left:10px;
cursor:pointer;
}

然后,我想使用单独的javascript页面和如下函数使样式的更改“永久”:

代码语言:javascript
运行
AI代码解释
复制
function mostraVectores(cosa1,cosa2){

document.getElementById(cosa1).style.display="block";

document.getElementById('equilibrio').style.color="#999";
document.getElementById('estructuras').style.color="#999";
document.getElementById('centros').style.color="#999";
document.getElementById('momento').style.color="#999";
document.getElementById('inercia').style.color="#999";
document.getElementById('rozamiento').style.color="#999";

document.getElementById('equilibrio').style.textDecoration="none";
document.getElementById('estructuras').style.textDecoration="none";
document.getElementById('centros').style.textDecoration="none";
document.getElementById('momento').style.textDecoration="none";
document.getElementById('inercia').style.textDecoration="none";
document.getElementById('rozamiento').style.textDecoration="none";

document.getElementById(cosa2).style.color="#000";
document.getElementById(cosa2).style.textDecoration="underline";

}

如您所见,还有另一个“菜单选项”,我希望将其变为灰色,并且不带下划线(因为它们最初是根据css),以防该函数在其他主题之后执行,这样用户在从一个主题切换到另一个主题时,不会以两个“选定的”菜单选项结尾。问题是,通过这种方式“重置”样式,div中的'onmouseover/onmouseout‘停止工作。

我该怎么解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-22 01:27:45

您需要的方法是使用CSS :hover并在单击时分配一个类。

HTML

代码语言:javascript
运行
AI代码解释
复制
<div id="vectores" class="categoria" onclick="mostraVectores('vectores0','vectores')">Tema 1. Mec&aacute;nica vectorial</div>
    <div id="vectores0" class="subcategoria"></div>

CSS

代码语言:javascript
运行
AI代码解释
复制
.categoria {
    color: #999;
    font-weight: bold;
    padding: 2px;
    padding-left: 10px;
    cursor: pointer;
}

.categoria:hover { /* This is applied on mouseover and removed on mouseout */
    color: #000;
    text-decoration: underline;
}

.categoria.active { /* Not sure what you want when clicked */
    color: #900;
    text-decoration: underline;
}

JS

代码语言:javascript
运行
AI代码解释
复制
function mostraVectores(cosa1,cosa2){
    //add this to your function
    this.className += " active";
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19512545

复制
相关文章
JSX onClick 和 HTML onclick 的区别
在 JSX 中可以通过 onClick 这样的方式给一个元素添加一个事件处理函数,当然,在 HTML 中也可以用 onclick (小写 c),但在 HTML 中直接书写 onclick 一直就是为人垢病的写法,网页应用开发界一直倡导的是用 jQuery 的方法添加事件处理函数,直接写 onclick 会带来代码混乱的问题。
Leophen
2021/07/08
1.8K0
css设置table样式_table的样式怎么设置
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/05
4.7K0
css设置table样式_table的样式怎么设置
JavaScript事件与例子(三)
两个例子,好友选中效果和左侧右侧子菜单 一、好友选中效果 可以通过设置属性的方式判断当前是否被选中,也可以通过获取当前元素的颜色从而得知当前元素状态是否被选中,从而进行操作 1.通过设置属性的方式判断选中的元素 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://ww
二十三年蝉
2018/02/27
6860
JavaScript事件(二)
例题顺序: 1.子菜单下拉 2.图片轮播 3.选项卡效果 4.进度条制作 5.滑动效果 6.滚动固定效果 1.子菜单下拉 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta ht
二十三年蝉
2018/02/27
1.3K0
QQ好友界面_qq怎么群发消息给好友列表
点击主标题显示下拉好友,再点击收起下拉好友;鼠标移到好友上背景颜色改变;选中的好友背景颜色也要改变;
全栈程序员站长
2022/09/20
1.4K0
React技巧之设置onClick监听器
原文链接:https://bobbyhadz.com/blog/react-onclick-link[1]
chuckQu
2022/08/19
6980
React技巧之设置onClick监听器
自制在线富文本编辑器,精简完整版
 不需要插入图片功能的去掉php代码然后将.php文件改为.html即可变成本地文本编辑器,是不是很酷!当然功能跟world比没那么强大!
超级小可爱
2023/02/17
1.9K0
自制在线富文本编辑器,精简完整版
PowerDesigner的样式设置
PD提供了强大的配置功能,可以对生成的数据库对象命名、数据模型的展现进行设置。这里首先讲下样式的设置。
深蓝studyzy
2022/06/16
2.7K0
PowerDesigner的样式设置
SecureCRTPortable样式设置
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130562.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/11
1.1K0
SecureCRTPortable样式设置
简单、通用的JQuery Tab实现
网页上的空间是寸土寸金,虽然显示器的分辨率越来越大,可是直到今天,网页设计中仍然是以至少1024×768 像素的支持为主,也就是说,每一屏页面只有区区 955×600像素 的安全尺寸可以用而已。于是,为了在有限的空间里容纳更多的内容,滑动门式的标签切换(Tabs)方式越来越受欢迎。通过滑动门技术,可以在同一块页面区域内放置数倍的内容。根据用户的选择来决定显示哪一部分。最近我在实际应用中,逐步完善出一种基于 jQuery,但是比 jQuery UI Tabs 插件更小巧也更通用的简单 Tabs 实现。 最早的
小李刀刀
2018/03/02
4.7K0
javaScript事件处理
JS事件指再浏览器窗体或者HTML元素上发生的,乐意触发JS代码块运行的行为,下面,我们一起来看看相关事件。
花狗Fdog
2020/11/24
2.4K0
javaScript事件处理
DOM和事件和BOM的学习
#DOM的简单学习文档对象模型(Document Object Model,简称DOM) 功能:控制html文档的内容 *代码:获取页面标签(元素)对象,Element *Document.getElementByid("id值"):通过元素的id获得元素对象 *操作Element对象: 1.设置属性值: 1.1明确获取的对象是哪一个, 1.2查看API文档,找其中有哪些属性可以设置 2.修改标签体内容: *属性:innerHTML
阮键
2020/05/08
1.6K0
onmouseover 和onmousemove的区别「建议收藏」
时间上 onmousemove 事件触发后,再触发 onmouseover 事件。
全栈程序员站长
2022/09/28
7040
javascript中onclick(this)用法和onclick(this.value)用法介绍
2.onclick(this)代码详解 一般标签中会使用href和onclick两种方式来进行进行页面跳转或执行动作,但是小编一般都会使用onclick来进行执行Ajax函数进行跳转,并同时使用οnclick=”xxxxxx(this)”来传递动态参数:例子如下
全栈程序员站长
2022/07/08
1.8K0
JavaScript事件与例子
事件,就是预先设置好的一段代码,等到用户触发的时候执行。 一:常见的事件: 1.关于鼠标的事件   onclick 鼠标单击触发   ondblclick 鼠标双击触发   onmouseover 鼠标移上触发   onmouseout 鼠标离开触发   onmousemove 鼠标移动触发 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra
二十三年蝉
2018/02/27
8800
简单粗暴的JavaScript笔记-1
前言: 提示密码提示框 <head> <style> #div1 {width: 100px;height:50px;background:#FFCC99;border:1px solid #FF9900; dispaly: none;} </style> <title>dashucoding</title> </head> <body> // get Element By Id <input type="checkbox" onmouseover="" "doucument.getElemen
达达前端
2019/07/04
8090
前端day12-JS(WebApi)学习笔记(操作元素属性,事件介绍)
硬盘代码读取到内存 -> 浏览器渲染引擎生成DOM树(document) -> 开始渲染页面
帅的一麻皮
2020/04/16
1.6K0
前端day12-JS(WebApi)学习笔记(操作元素属性,事件介绍)
前端特效常用代码
________________________________________
用户7657330
2020/08/14
4.5K0
JS设置标签的内容和样式
上一期堡堡给大家分享了操作符与数据类型转换。掌握JS操作符的目的是为了能够灵活的操作变量,以便完成JS的各种逻辑处理;掌握数据类型转换可以让我们避免一些不该发生的问题,能够让我们更好的完成JS的各种功能。如果想具体了解操作符与数据类型转换,可以查看:操作符与数据类型转换。而今天我们主要讲解JS逻辑和DOM的结合 - JS设置标签的内容和样式。 Tips:由于上一期的文章篇幅过长,微信的文章有字数要求,所以小编把部分的内容(操作符)放到这一期进行讲解。 继上一期的内容 - 操作符 赋值操作符:=(赋值) +
HTML5学堂
2018/03/13
20.5K0
JS设置标签的内容和样式
EasyNVR H5无插件直播方案前端构建之:播放界面添加实时云台控制界面
对于实时直播的视频播放, 由于播放页面客观样式要求(一个播放器占据了整个页面),因此很难找出很合理的空间来放置其他功能按钮的位置(比如配合实时的云平台控制界面);
EasyNVR
2020/04/23
1K0
EasyNVR H5无插件直播方案前端构建之:播放界面添加实时云台控制界面

相似问题

使用onClick和onMouseOver事件更新样式

12

Javascript onClick和onmouseover以及onmouseOut

50

设置JavaScript onmouseover警报的样式

33

让onMouseOver和onClick工作的问题

20

如何使用'onmouseover‘和'onclick’事件改变样式表?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文