Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改div';选择时的轮廓颜色?_Javascript_Html_Css - Fatal编程技术网

Javascript 如何更改div';选择时的轮廓颜色?

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时,我需要更改轮廓颜色。我尝试使用与悬停相同的技术(如下所示),但我需要选择器的帮助。是否可以通过JavaScript或CSS实现

以下是我尝试过的:

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可能会引入。这将解决了这个问题,但是还没有浏览器支持。为什么?一个“selected
div
”有什么UI上下文?如果我在div中有文本框。我如何使用它?我找到了另一种使用CSS的方法,我发布了它作为你参考的答案。是否有可能验证div何时被关注?反应有点晚(几年前)。奇怪的是,没有人对你的解决方案发表评论。事实上,这是一个非常关键的技术。它对我有效。迄今为止,在所有主要浏览器中都进行了测试。事实上,他在2014年10月23日问了这个问题,我回答了……2014年10月23日!!!(有个叫斯科巴利奇的人8个月后编辑了答案,但那是另一回事……如果你喜欢这个解决方案,为什么不“投票”呢???无论如何,谢谢你的评论!