0

我正在尝试模仿 twitter bootstrap 的文本输入行为。我注意到在 Twitter Bootstrap 的输入中,当用户点击时,光标总是停留在文本输入的开头。但在用户开始输入之前,“搜索”文本不会消失。

除了我之外,我已经完成了大部分工作,光标不会停留在文本输入的开头。有什么想法我能做到这一点吗?

到目前为止,这是我的 jQuery 代码:

$('input[title]').each(function() {
    if($(this).val() === '') {
        $(this).val($(this).attr('title'));
    }
    $(this).keydown(function() {
        if($(this).val() == $(this).attr('title')) {
            $(this).val('').removeClass('blur');
        }
    });
    $(this).mousedown(function() {
        if($(this).val() == $(this).attr('title')) {
            $(this).blur().val('');
            $(this).focus().val($(this).attr('title'));
        }
    });
    $(this).blur(function() {
        if($(this).val() === '') {
            $(this).val($(this).attr('title')).addClass('blur');
        }
    });
});
4

3 回答 3

1

您描述的可能是一个称为占位符的属性:

<input type="text" placeholder="Type something…">
于 2013-02-16T05:04:49.117 回答
0

这肯定会帮助你:http: //jsbin.com/ohoyer/2/edit

jQuery(function ($) {
       var $inputExample = $('#input-ex');
       var a = false;
       $inputExample.click(function () {
         $inputExample.caretToStart();
       });

       $inputExample.keypress(function(){
       if(a == false){
         $(this).val('');
         a = true
       }else{
         $inputExample.caretToEnd();
       }
    });
});

这是用于此的插件:

`https://gist.github.com/DrPheltRight/1007907/raw/
  b1ce3b710616f9ee15a6b8ca2b03e35756d3d816/jquery.caret.js`
于 2013-02-16T05:23:06.800 回答
0

使用它来为输入添加焦点

$("#inputid").focus ();
于 2013-02-16T04:50:58.517 回答