.select()を使用して入力で選択されたものを選択しません
質問
使用した後 .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
として機能しています 予想通り また。
ご存知かもしれませんが、ホバリングしてこれを避けるときに、テキストを解除する方法を理解できません。
他のヒント
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を使用できます
所属していません StackOverflow