jquery - 如何在第二次单击时重置 SVG 颜色
问题描述
我正在使用它来填充单击时的 svg:
jQuery('#color-my-svg').on("click", function() {
jQuery('#color-my-svg').css({ fill: "#ff0000" });
当用户第二次单击按钮时,将颜色重置为默认值的最简单方法是什么?
解决方案
实现这一点的最简单方法是fill
使用 CSS 类设置,然后在单击时切换该类:
$('#color-my-svg').on("click", function() {
$(this).toggleClass('foo');
});
svg rect {
fill: #CCC;
}
.foo {
fill: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<svg>
<rect id="color-my-svg" x="10" y="10" width="100" height="100" stroke="black" />
</svg>
推荐阅读
- node.js - 每个 npm 命令都会抛出错误
- ios - 键盘显示时向上移动视图,用于堆栈视图中的文本字段
- css - 向下箭头 CSS3
- istio - 如何添加额外的 http 标头代表 istio-proxy 的 auth 主体?
- java - java.lang.NullPointerException: android.widget.Button.setOnClickListener()
- angular - Angular 6 MatSnackBar 适用于 Chrome 但不适用于 IE11
- outlook-addin - 无法将图像添加到 Outlook Online
- android - 如何在运行时从 Playstore 更新应用程序
- javascript - 为什么我没有可用的运算符 Voximplant?
- .net-core - 在 .net 核心上使用 scriban 向模板提供数据模型的问题