C# 将焦点设置为文本框

C# 将焦点设置为文本框,c#,asp.net,javascript,jquery,C#,Asp.net,Javascript,Jquery,在我的网页中有一个宽度和高度都等于0的文本框。此文本框用于获取用户不应看到的扫描条形码值 需要: 我想在单击表单中的任意位置时将焦点设置为文本框 我想让光标不可见 吉莎。至于设置焦点 $('#idOfTextBox').focus(); 我会成功的。您可以将其添加到任何单击处理程序中,例如 $('#idOfFormOrParentDiv').click(function() { $('#idOfTextBox').focus(); $(this).css('cursor', '

在我的网页中有一个宽度和高度都等于0的文本框。此文本框用于获取用户不应看到的扫描条形码值

需要:

  • 我想在单击表单中的任意位置时将焦点设置为文本框
  • 我想让光标不可见
  • 吉莎。

    至于设置焦点

    $('#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:既然我这样做了,我就在我的测试/演示页面上随意发布了。