[英]Firing javascript event cross-browser when text is dragged in to a textbox
[英]Javascript: cross browser solution for selecting all text inside a textbox on focus
我遵循以下功能:
這可能嗎?
$('input[type="text"]').live('focus', function () { this.select(); });
Chrome和IE8僅在瞬間選擇所有文本
$('input[type="text"]').live('click', function () { this.select(); });
Firefox和IE8選擇所有文本,但在后續單擊時,文本仍保持選中狀態。
*種類有效,文本框有焦點后,點擊它可以在選擇所有文本和單擊閃爍插入符號的位置之間切換。 這可能是可以接受的。
用setTimeout
它延遲一毫秒:
$('input[type="text"]').live('focus', function() {
var inp = this;
setTimeout(function() {
inp.select();
}, 1);
});
發生了什么事情是在您選擇文本后設置選擇的其他瀏覽器事件。 因此,等待一毫秒后,您將完成所有瀏覽器事件,然后選擇文本。 現在沒有什么會撤消它。
您可能想要添加
event.preventDefault();
return false;
你的功能(第一個)。 這可能會修復其他瀏覽器。
另外,將event
添加到函數sig:
$('input[type="text"]').live('focus', function (event) {
你應該記得return false; event.stopPropagation(); event.preventDefault()
return false; event.stopPropagation(); event.preventDefault()
return false; event.stopPropagation(); event.preventDefault()
如下:
$('input[type="text"]').live('click', function (event) {
this.select();
event.stopPropagation();
event.preventDefault();
return false;
});
如果你可以使用jQuery那么你可以做類似的事情;
$("#myInputField").focus(function(){
// Select input field contents
this.select();
});
// Add this behavior to all text fields
$("input[type=text]").focus(function(){
// Select field contents
this.select();
});
取自此處
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.