2009-08-21 6 views
6

포커스가있는 텍스트 입력이 있으면 그 안에있는 모든 텍스트를 선택하고 싶습니다. 이것은 텍스트 입력을 클릭하고 현재 값을 지우지 않고 타이핑을 시작하는 것입니다. 이미 텍스트 입력에 있던 내용을 덮어 쓰고 싶다고 가정합니다.jQuery가 선택된 텍스트를 설정하십시오.

jQuery로 어떻게 처리 할 수 ​​있습니까?

+0

아닌가요 대부분의 브라우저에서 기본 동작이? 필자는 FireFox, Opera 및 IE를 사용해 보았고 탭으로 이동할 때 텍스트 입력 내용을 모두 강조 표시했습니다. –

+0

크리스, 죄송합니다. 네가 맞는 것 같아. 나는 이걸 사냥의 길로 인도하는 것을 기억하지 못한다. 그러나 나는 그렇게 잊어 버린 것을 잊어 버렸다. 나는 그것을 시도한다. :) –

+0

아, 지금 기억한다. 입력 필드에 마우스를 가져 가면 텍스트가 선택되지 않습니다. 하지만 당신은 정확합니다. 입력 필드에 * 탭 * 할 때의 기본 동작입니다. 나는 그 지위를 편집 할 것이다. –

답변

6

Couple 링크 here입니다.

$("#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(); 
}); 
4

단지 텍스트를 선택하려면, 당신은 같은 것을 할 거라고 : 텍스트 선택하지 않습니다

$(".inputs-to-which-you-want-to-apply-this-behavior").focus(function() { 
    this.select(); 
}); 

또 다른 방법을, 오히려 을 (교체가 필요한 경우에만 제거 상자를 비워두면 다음과 같이 보일 것입니다.

$(document).ready(function() { 
    $(".inputs-that-currently-have-a-default-value-in-them").each(function() { 
    var original = $(this).val(); 
    $(this).focus(function() { 
     if ($(this).val() == original) 
      $(this).val(''); 
    }); 

    $(this).blur(function() { 
     if ($(this).val() == '') 
     $(this).val(original); 
    }); 
    }); 
}); 

그 상자의 시작 부분에는 '이름 입력'과 같은 자리 표시 자 텍스트가 있지만 상자에있는 내용이 마지막으로 입력 한 이름 인 경우 텍스트를 선택하는 원래의 아이디어가 확실 할 것입니다.)

0

내가 사용해 본 것부터 내가 사용하는 대부분의 브라우저에서 기본 동작입니다.

비록 select() 기능은 다른 사람들이 말한 기능을 수행합니다. 대신 필드가 집중된 경우 입력 필드의 값을 공백으로 설정하는 것이 좋습니다. 같은

뭔가 :

$(":input").focus = function(){if(this.type=="text"){value=""}return true}; 
관련 문제