Javascript 将焦点设置为输入字段而不闪烁光标
我有一个文本字段(全名),单击“设置焦点”按钮,我希望在文本字段(全名)上设置焦点,但不希望焦点文本字段内的光标闪烁。如何使用js/jQuery实现这一点Javascript 将焦点设置为输入字段而不闪烁光标,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个文本字段(全名),单击“设置焦点”按钮,我希望在文本字段(全名)上设置焦点,但不希望焦点文本字段内的光标闪烁。如何使用js/jQuery实现这一点 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Customer Details</title> </head> <body> <
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Customer Details</title>
</head>
<body>
<input type="text" id="fullname" placeholder="Name">
<button type="button" onClick="document.getElementById('fullname').focus()" id="button">Set Focus</button>
</body>
</html>
客户详细信息
聚焦
我尝试过使用jquery和js
focus()
。但在这两种情况下,我都能看到焦点文本字段中闪烁的光标。我看到了一个解决方案,需要我改变文本的阴影、边框和轮廓来实现这一点。但是我想保留聚焦文本字段的边框和轮廓?查看我的代码,应用它:)单击按钮时,它将聚焦输入字段。快乐编码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Customer Details</title>
<style>
#fullname {
border: none;
color: transparent;
display: inline-block;
font-size: 2em;
text-shadow: 0 0 0 gray;
width: 2em;
width: 200px;
border: 1px solid black;
}
#fullname:focus {
outline: none;
}
</style>
</head>
<body>
<input type="text" id="fullname" placeholder="Name">
<button type="button" onClick="document.getElementById('fullname').focus()" id="button">Set Focus</button>
</body>
</html>
客户详细信息
#全名{
边界:无;
颜色:透明;
显示:内联块;
字号:2em;
文本阴影:0灰色;
宽度:2米;
宽度:200px;
边框:1px纯黑;
}
#全名:焦点{
大纲:无;
}
聚焦
嗨,我做了一个黑客,希望这能有所帮助:D
<div style="position:relative">
<input type="text" id="txt" />
<span id="txt2"></span>
</div>
var txt = $('#txt');
txt.focus()
$('#txt').on('keyup', function () {
var val = $(this).val();
//alert(val);
$('#txt2').text(val)
})
#txt:focus {
outline:none
}
*[id^="txt"] {
position:absolute;
outline:none
}
#txt {
z-index:12;
background:#ddd;
opacity:0.0;
width:200px;
height:30px
}
#txt2 {
height:30px;
border:1px solid #ddd;
display:block;
width:200px;
word-wrap: break-word;
overflow:hidden;
line-height:30px
}
var txt=$(“#txt”);
txt.focus()
$('#txt')。在('keyup',函数(){
var val=$(this.val();
//警报(val);
$('#txt2').text(val)
})
#焦点{
大纲:无
}
*[id^=“txt”]{
位置:绝对位置;
大纲:无
}
#文本{
z指数:12;
背景:ddd;
不透明度:0.0;
宽度:200px;
高度:30px
}
#txt2{
高度:30px;
边框:1px实心#ddd;
显示:块;
宽度:200px;
单词包装:打断单词;
溢出:隐藏;
线高:30px
}
这里:我正在做的是,我在一个相对定位的div中输入了一个输入和一个span,然后我用绝对位置管理它的子对象,并使输入透明。在此之后,我使用了keyp函数,获取输入值并更改span的文本。希望这会有所帮助。这个技巧似乎对所有主要的div都有效浏览器,保留轮廓\边框并隐藏闪烁的插入符号:
#全名:焦点{
文本缩进:-9999em;
文字阴影:9999em 0#000;
}
设置焦点
???请看下面我的代码,我为您制作了一个代码。见下文:)@A.Wolf:我已经明确提到我需要保留边框和边框。@Rajasri.Jtext shadow
不会(不应该)影响边框和边框。那么,您在哪个浏览器上测试它呢?在我之前的评论中提供的JSFIDLE有什么问题?编辑:我明白了,这不适用于IE@A.Wolf:你发布的小提琴链接在chrome和IE11中运行良好。但是,当我将边界合并到我的项目中时,我无法找到它。因此,我在我的项目中加入了“边框颜色:#colorcode”,它现在可以正常工作了感谢您的时间和帮助:)IE9<不支持文本阴影属性。你可以试试这个polyfill,但不确定它是否适合你的需要(我现在很忙,所以很遗憾我没有时间测试它)。这个答案值得更多的投票。适用于IE10、11、Edge、Chrome和Firefox