我希望我的输入向左写

时间:2012-07-19 10:43:17

标签: javascript html window getselection

我知道这可以通过使用window.getSelection()方法在javascript中实现,但我不熟悉这个选择对象。 你能帮我写一个代码,让用户的写入光标始终在输入字符串的开头吗?

$('input[type="text"]')
    .attr('maxlength','7')
    .keyup(function(){
        var sel = window.getSelection();
        console.log(sel);
        // need a code for here to make the cursor (caret) at the begining of the string

    })

3 个答案:

答案 0 :(得分:2)

你总是可以使用CSS direction: rtl; 这行代码只是将文本的方向更改为Right To Left 然后你可以使用.addClass("your_class")

将css类添加到你的html元素中

值得注意的是,此方法不会替换类。它只是添加了类,将其附加到可能已经分配给元素的任何类中。

编辑:尝试将.addClass("your_class")放在keyup函数之外(虽然这可能仍然无法为您提供最佳效果),请查看下面的评论以获取更好的方法它

更新:这是另一种方法

$('input[type="text"]').change(function () {
$(this).val() = $(this).split("").reverse().join("");
});

答案 1 :(得分:2)

可以使用以下组合来完成:

  • dir = "rtl"
  • 每次按键后将文本框插入符号移动到0

演示:http://jsfiddle.net/FF9Tf/1/

注意:使用这些答案中的提示/代码。

答案 2 :(得分:0)

试试这个,它会使光标在输入框中的文本开头处闪烁

$('input[type="text"]')
    .attr('maxlength','7')
    .attr('dir', "rtl")
    .keyup(function(){
        var sel = window.getSelection();
        console.log(sel);
        // need a code for here to make the cursor (caret) at the begining of the string

    })

尝试演示链接 http://jsfiddle.net/hcWCQ/1/

在例如:单击输入框,然后按Shift + TAB,然后开始键入 不完全是你想要的......但是在某个地方接近