【发布时间】:2019-10-29 12:21:41
【问题描述】:
我有一个 JS 函数,它允许我设置由切换类突出显示的表 TD。
我想使用不同的颜色来突出显示,颜色应通过单击 div 并选择其 BG 颜色来选择。
表格和带颜色的 div 都是 PHP 动态生成的。 (颜色也是从数据库中选择出来的,所以 CSS 类不起作用)。
我尝试了以下方法 - 通过生成“Colorpicker DIVS”,我将十六进制代码作为 ID 给他们,这样我就可以在 JQUERY 中使用 ID 作为颜色......当我现在突出显示 TD 并单击其中一个 div 时,所有突出显示的 TD 变为单击的 DIV BG 颜色。
实际上我需要它——点击“Colorpick-div”,然后用选定的 DIVS 背景颜色为点击的 TD 染色。
希望你明白我的意思。 :-)
这是 Toggleclass JS:
$(function () {
var isMouseDown = false,
isHighlighted;
$(document).on('mousedown', '#fullTable td', function() {
isMouseDown = true;
$(this).toggleClass("highlighted");
isHighlighted = $(this).hasClass("highlighted");
return false; // prevent text selection
})
.on('mouseover', '#fullTable td', function () {
if (isMouseDown) {
$(this).toggleClass("highlighted", isHighlighted);
}
})
.bind("selectstart", function () {
return false;
})
$(document)
.mouseup(function () {
isMouseDown = false;
});
});
我在这里尝试使用 JQUERY:
$(document).on("click", "div.actions", function (event) {
var bgcolor = this.id;
$("td.highlighted").css("background-color", bgcolor);
});
【问题讨论】:
-
因此,当您的一个颜色 div 被点击时,将十六进制代码存储到一个变量中。然后用该变量的颜色为表格单元格着色,当它们被鼠标悬停时......
-
请注意
id不能以数字开头。id="000"无效。另一种方法是data属性。 -
实际上 HexCodes 以 # 开头 :-)
-
@mat_script id 在页面上应该是唯一的并且不包含特殊字符(#)
-
#也无效。必须以字母开头;-)
标签: javascript jquery css