質問

使用した後 .select() 入力ボックス内のテキストを選択したときに、私は次のことをしました。

HTML:

<input type="text" class="hoverAble" value="hover here"/><br />

jQuery:

$(".hoverAble").mouseenter(function() {

    this.select();

}).mouseleave(function() {

    //I can't figure what to put here.
});

見る ここ. (jsfiddleで)正しく機能するように警告すると、結果フレームを1回クリックする必要があります。

主なアイデアはです mouseleave として機能しています 予想通り また。

ご存知かもしれませんが、ホバリングしてこれを避けるときに、テキストを解除する方法を理解できません。

enter image description here

役に立ちましたか?

他のヒント

jQueryを使用している場合は、Blur()を使用してみてください。

$(this).blur();

この場合、blur()は入力テキストからのみ焦点を合わせず、外観を与えますが、テキストはもう選択されていませんが、選択されています。テキストを本当に選択するために、あなたはします:

$(".hoverAble").mouseenter(function() {
    this.select();
}).mouseleave(function() {
    $(this).prop('selectionStart', 0).prop('selectionEnd',0).blur();
});

これは機能します:

$(".hoverAble").hover(function() {

    $(this).select();
    $(this).after("<input type='text' style='height:0;width:0;border:0;padding:0;margin:0;' id='tmp_hidden' />");

}, function(){

    $("#tmp_hidden").select().remove();

});

それが考えられるより良い方法があるはずです。

編集:もちろんあります blur().

input.hover(function(){$(this).select();}, function(){$(this).val($(this).val());});

jqueryを使用する場合、ニーズに応じてケアの位置を選択または設定するために、多くのプラグインのいずれかを試すことができます。 これです. 。そうしないと、オープンソースのライセンスのために、これらのプラグインの純粋なJavaScriptを使用できます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top