1

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/

4

2 に答える 2

0

この作業中の jQueryのを参照してください。

jQuery を使用すると、ユーザーがフォーカスしようとしたときにぼかしイベントを発生させることができます。これにより、テキストを入力できなくなります。

$("#elem").focus(function() {
    $(this).blur();
}):

また、CSS を使用すると、これは明らかに古いブラウザーでは機能しない可能性があります。この質問をチェックしてください。

#elem
{
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
于 2012-08-04T06:43:38.137 に答える