2016-04-18 70 views
1

我在寻找,但是我找不到在jQuery中是否有任何选项来获取用蓝色选择的输入字段中的预填充内容。到目前为止,我只是发现如何使用focus来获得一个闪烁的光标。可能在突出显示的输入字段中填充了预填充值

我只希望用户能够键入一个新的值,而无需先在输入字段内单击。当用户开始键入新值时,prevoius值将从输入字段中删除。

$(".inputHours").focus(); 
+0

你可以分享任何示例或其他东西很容易理解 –

回答

2

在触发焦点之前,您可以触发select()事件。

当用户在其中进行文本选择时,select事件被发送到元素。此事件限于<input type="text">字段和<textarea>框。

jQuery's select() documentation

$(".inputHours").select().focus();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="inputHours" type="text" value="Hello, world!" />

+0

我希望从页面加载时从头开始选择它。这可能吗? –

+0

@ 3D-kreativ将它包装在'$(document).ready'函数中? https://learn.jquery.com/using-jquery-core/document-ready –

+0

那不是问题!也许你不明白我的问题?您可以在输入栏内单击并选择文本,它会变成蓝色。我希望在不需要单击并自己选择的情况下选择它(当我在输入字段中单击时没有任何反应,而不是在我现在使用的Firefox中) –

0

您需要使用$。选择(); jQuery select() docs

例如, 如果你希望它突出显示字段中的所有文本上 重点 文件准备好,使用此:

$(document).ready(function() { 
 
    $('.inputHours').select(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input class="inputHours" value="Hello world">

+0

我希望它在页面加载时从头开始选择。这可能吗? –

+0

查看我的代码更改:) – Kershrew

0

此代码为您点输入框没有点击。我有点迷惑 预填充的内容,所以如果你有任何演示链接,然后与我分享。

<input type="text" autofocus> 
    <script> 
     $(function() { 
      $("[autofocus]").on("focus", function() { 
       if (this.setSelectionRange) { 
        var len = this.value.length * 2; 
        this.setSelectionRange(len, len); 
       } else { 
        this.value = this.value; 
       } 
       this.scrollTop = 999999; 
      }).focus(); 
     }); 
    </script> 
+0

嗨,当您在输入字段中单击并选择文本时,文本将获取背景颜色。我希望在没有我的情况下被选中不需要做任何事情。 –

+0

首先在输入框中写入内容时可能 – Rajiv