なぜこれが起こっているのかを理解しようとしています-入力テキストフィールドがあり、フィールドがフォーカスを受け取ったときにすべてのテキストを強調表示したい. これは非常に迅速に発生し、すべてのテキストが選択解除されます。なぜこれが起こるのでしょうか?私が使用しているコードは次のとおりです。
$("#permalink").focus(function(){
this.select();
});
なぜこれが起こっているのかを理解しようとしています-入力テキストフィールドがあり、フィールドがフォーカスを受け取ったときにすべてのテキストを強調表示したい. これは非常に迅速に発生し、すべてのテキストが選択解除されます。なぜこれが起こるのでしょうか?私が使用しているコードは次のとおりです。
$("#permalink").focus(function(){
this.select();
});
入力要素の mouseup イベントをオーバーライドする必要があります (この投稿で述べたように- MrSlayer に感謝します!)
例については、こちらを参照してください: http://jsfiddle.net/f8TdX/
これは WebKit の問題です。最適なオプションは、focus
とmouseup
イベントを組み合わせて使用することです。以下は、同様の質問に対する別の回答からのものです。
$("#permalink").focus(function() {
var $this = $(this);
$this.select();
window.setTimeout(function() {
$this.select();
}, 1);
// Work around WebKit's little problem
$this.mouseup(function() {
// Prevent further mouseup intervention
$this.unbind("mouseup");
return false;
});
});
これを試してみてください
$(document).ready(function() {
$("input:text").focus(function() { $(this).select(); } );
});