Javascript 如何更改div';选择时的轮廓颜色?
当选择div时,我需要更改轮廓颜色。我尝试使用与悬停相同的技术(如下所示),但我需要选择器的帮助。是否可以通过JavaScript或CSS实现 以下是我尝试过的:Javascript 如何更改div';选择时的轮廓颜色?,javascript,html,css,Javascript,Html,Css,当选择div时,我需要更改轮廓颜色。我尝试使用与悬停相同的技术(如下所示),但我需要选择器的帮助。是否可以通过JavaScript或CSS实现 以下是我尝试过的: div{ 背景:#ccc; 利润率:20px; } div:悬停{ 轮廓:1px纯蓝色; } 1 2. 3您可以尝试:focus伪类。注意:您需要使divs可聚焦 div{ 背景:#ccc; 利润率:20px; } 新闻组:焦点{ 轮廓:1px纯蓝色; } 1 2. 3您是否尝试过使用事件 所选功能(pDiv){ $(“#div
div{
背景:#ccc;
利润率:20px;
}
div:悬停{
轮廓:1px纯蓝色;
}
1
2.
3
您可以尝试:focus
伪类。注意:您需要使div
s可聚焦
div{
背景:#ccc;
利润率:20px;
}
新闻组:焦点{
轮廓:1px纯蓝色;
}
1
2.
3
您是否尝试过使用事件
所选功能(pDiv){
$(“#div”+pDiv).attr(“样式”,“边框样式:实心”);
//这里写一个For循环,将“border-style:none”放入其他所有人
}
1.
2.
3
正如我在我的中所说,您可以使用:focus
伪类
但是有一个问题:如果元素包含其他可聚焦的元素,它将不起作用
但是,可以使用JS事件修复此问题:
var els=document.body.children;
对于(var i=0;i另一种使用CSS的方法:
输入:激活,
投入:聚焦,
文本区域:活动,
文本区域:焦点,
选择:活动,
选择:焦点{
轮廓:1px纯蓝色;
}
您只需使用焦点
而不是悬停
。:焦点
选择器用于选择具有焦点的元素。在接受键盘事件或其他用户输入的元素上允许使用该选择器
这两个元素之间的区别在于hover
事件侦听鼠标相对于网页的位置,而focus
事件侦听页面中的选定项目
因此,您的代码可以如下所示:
div{
背景:#ccc;
利润率:20px;
}
新闻组:焦点{
轮廓:1px纯蓝色;
}
1
2.
3
/*
修复选择下一个选定的上一个
修复重复单击并取消选择
*/
var VALUESELD=新数组();
var num=0;
所选功能(pDiv){
num=num+1;
售出价值[num]=pDiv;
console.log(“Key”+num+”Value=“+valuesell[num]);
$(“#div”+pDiv).css(“左边框”、“1px实心rgb(133189147)”);
如果(ValueSeld[2]>0&&ValueSeld[1]>0){
$(“#div”+valuesell[num-1]).css(“左边框”,“1px实心rgb(221,84,84)”);
}
如果(pDiv==ValueSeld[num]){
$(“#div”+pDiv).css(“左边框”、“5px实心rgb(133189147)”;
}
}
div{
左边框:1px实心rgb(221,84,84);
边缘顶部:2倍;
}
1.
2.
3
如果我在div中有文本框。我如何使用它?@DineshKumar True。由于文档中只能有一个聚焦元素,input
s是聚焦的,它将不起作用。那么我如何实现文本框的这一点?有什么想法吗?选择器L4可能会引入。这将解决了这个问题,但是还没有浏览器支持。为什么?一个“selecteddiv
”有什么UI上下文?如果我在div中有文本框。我如何使用它?我找到了另一种使用CSS的方法,我发布了它作为你参考的答案。是否有可能验证div何时被关注?反应有点晚(几年前)。奇怪的是,没有人对你的解决方案发表评论。事实上,这是一个非常关键的技术。它对我有效。迄今为止,在所有主要浏览器中都进行了测试。事实上,他在2014年10月23日问了这个问题,我回答了……2014年10月23日!!!(有个叫斯科巴利奇的人8个月后编辑了答案,但那是另一回事……如果你喜欢这个解决方案,为什么不“投票”呢???无论如何,谢谢你的评论!