将焦点设置为文本框

时间:2010-05-24 05:40:06

标签: c# asp.net javascript jquery

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

需要:

  1. 当我点击表单中的任意位置时,我想将焦点设置到文本框。
  2. 我想让光标不可见。
  3. 格塔。

1 个答案:

答案 0 :(得分:3)

关于设置焦点,

$('#idOfTextBox').focus();

会做到这一点。您可以将其添加到任何单击处理程序,例如

$('#idOfFormOrParentDiv').click(function() {
    $('#idOfTextBox').focus();
    $(this).css('cursor', 'none');
});

至于隐藏光标,你可以将一个cursor:none作为一个样式应用于form或parent 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>