我想知道是否有一种方法,使用jQuery,在将插入位置设置到输入框中已经存在的文本的前面时,禁止突出显示文本?
在下面的示例中,将光标放在最左侧的输入框中,然后按Tab键。你会注意到当光标移动到下一个输入时,当插入符号位置改变时,文本会突出显示 - 这就是我希望能够停止的。
<input type="text" value="Some text here..." class="populated-text">
<input type="text" value="Any default text you like" class="populated-text">
<input type="text" value="Will be used as empty" class="populated-text">
$('.populated-text').each(function () {
var input = $(this);
input.data('blank-value', input.val());
input.data('data-entered', false);
input.addClass('grayed');
input.keydown(keyDown);
input.blur(blur);
input.focus(focus);
input.mousedown(mouse);
input.mouseup(mouse);
});
以下是一个示例:http://jsfiddle.net/t5HMy/
答案 0 :(得分:1)
试试这个:
$('input').focus(function() {
var $that = $(this);
setTimeout(function() {
$that.selectRange(0,0);
}, 1)
})
答案 1 :(得分:0)
请参阅此jQuery example。
使用jQuery可以在用户尝试聚焦时导致模糊事件。这将阻止他们输入文字。
$("#elem").focus(function() {
$(this).blur();
}):
同样使用CSS,显然这可能不适用于旧浏览器。您应该查看此question。
#elem
{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}