You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为input[type=button]添加hover效果并解决光标异常、hover失效问题

问题分析与解决方案

嘿,我来帮你排查这个问题!你的hover效果不生效和光标没变化的问题,主要是CSS的小错误导致的,和onclick代码没关系,完全不需要修改它~

1. hover效果不生效的核心原因

你的CSS属性选择器语法写错了!正确的属性选择器格式是[属性名="属性值"],但你写成了input[type: "button"]——把冒号改成等号,浏览器才能识别到要应用hover样式的元素。修正后的选择器应该是:

input[type="button"]:hover { background-color: green; }

2. 鼠标悬停光标不变的问题

默认情况下,input[type="button"]的光标是箭头样式,不符合按钮的交互预期。你只需要给按钮添加cursor: pointer;样式,就能让鼠标悬停时显示指针光标。可以把这个样式加到#b1的规则里:

#b1 { 
  font-size: 20px; 
  border-radius: 30px;
  cursor: pointer; /* 让鼠标悬停时显示指针光标 */
}

3. 关于onclick代码的说明

这段内联点击事件代码本身是有效的,点击按钮会正常跳转到指定地址,它和hover效果、光标变化没有任何关联,所以不用修改它。如果追求更现代的前端写法,你可以用addEventListener代替内联onclick,但这不是解决当前问题的必要操作。

修正后的完整代码示例

#b1 { 
  font-size: 20px; 
  border-radius: 30px;
  cursor: pointer;
}
input[type="button"]:hover { 
  background-color: green; 
}
<form>
  <input id="b1" type="button" value="LogIn" onclick="window.location.href='http://www.facebook.com/'" />
</form>

这样修改后,鼠标悬停按钮时,背景会变成绿色,光标也会变成指针样式啦~

内容的提问来源于stack exchange,提问作者Raihan Arefin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:33:55