C# 将焦点设置为文本框
在我的网页中有一个宽度和高度都等于0的文本框。此文本框用于获取用户不应看到的扫描条形码值 需要:C# 将焦点设置为文本框,c#,asp.net,javascript,jquery,C#,Asp.net,Javascript,Jquery,在我的网页中有一个宽度和高度都等于0的文本框。此文本框用于获取用户不应看到的扫描条形码值 需要: 我想在单击表单中的任意位置时将焦点设置为文本框 我想让光标不可见 吉莎。至于设置焦点 $('#idOfTextBox').focus(); 我会成功的。您可以将其添加到任何单击处理程序中,例如 $('#idOfFormOrParentDiv').click(function() { $('#idOfTextBox').focus(); $(this).css('cursor', '
$('#idOfTextBox').focus();
我会成功的。您可以将其添加到任何单击处理程序中,例如
$('#idOfFormOrParentDiv').click(function() {
$('#idOfTextBox').focus();
$(this).css('cursor', 'none');
});
至于隐藏游标,您可以将游标:none作为样式应用于表单或父div,或者如前一示例所示,通过jquery更改其css
光标:当光标位于元素的边界内时,没有光标-尽管这种行为在整体上看起来是模糊和不必要的(更不用说让用户感到困惑了)
例子
下面是一个使用绝对定位同时隐藏输入字段及其光标的示例。它会在加载时聚焦字段,因此如果您键入,然后按“转到”按钮,您将看到您键入的内容
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title>Test Page</title>
<style type='text/css'>
body {
font-family: sans-serif;
}
#myTextBox {
position: absolute;
left: -10000px;
top: 0px;
}
</style>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
<script type='text/javascript'>
(function() {
$(document).ready(pageInit);
function pageInit() {
$('#btnGo').click(go);
$('#myTextBox').focus();
}
function go() {
alert($('#myTextBox').val());
}
})();
</script>
</head>
<body><div>
<input id='myTextBox' type='text' size='1'>
<input id='btnGo' type='button' value='Go'>
</div></body>
</html>
测试页
身体{
字体系列:无衬线;
}
#我的文本框{
位置:绝对位置;
左:-10000px;
顶部:0px;
}
(功能(){
$(文档).ready(pageInit);
函数pageInit(){
$('btnGo')。单击(go);
$('#myTextBox').focus();
}
函数go(){
警报($('#myTextBox').val());
}
})();
@Dan:我想他指的是当焦点在文本框中时显示的大的闪烁光标,而不是鼠标光标。是的。你是对的。我想把闪烁的光标隐藏在文本框内。哦,嘿-但是如果文本区域是0px x 0px,你会怎么看呢?否则,您可能会使文本区域远离窗口视口(左边距:1000px;?),并在它的更改事件上更新另一个不在焦点上的文本区域(因此,没有闪烁的光标),甚至还有一个div?@Dan:哦,这太聪明了;建议更新答案文本。出于好奇,我尝试了一下,它在Chrome4、IE7和Firefox3.6上运行得非常好。他们让我聚焦文本框,但我没有在屏幕上看到任何东西。只需设置位置:绝对;左:-10000px;顶部:输入上的0px
。在笔划处,这实际上隐藏了文本框和光标。(我有点惊讶,我不必将它包装在容器中并设置容器的溢出:隐藏样式,但我没有这样做;我猜是因为它位于左侧,而不是右侧。)@Dan:既然我这样做了,我就在我的测试/演示页面上随意发布了。