2012-07-09 9 views
6

Actualmente estoy queriendo enfocar el primer elemento de entrada, sin seleccionar el texto de valor preestablecido dentro del elemento de entrada. ¿Cómo puedo enfocar mi elemento de entrada y luego anular la selección del texto dentro de él? Mi enfoque actual jQuery es el siguiente.Cómo enfocar la entrada y anular la selección de texto dentro de ella

$(document).ready(function() { 
    $("input[name='title']").focus(); 
}); 
+1

http://stackoverflow.com/questions/794583/deselect-contents-of-a-textbox-with-javascript –

Respuesta

7
$(document).ready(function() { 
    $("input[name='title']").focus(); 
    $("input[name='title']").val($("input[name='title']").val()); 
}); 
6

Puede utilizar los selectionStart y selectionEnd propiedades:

$(document).ready(function() { 
    $("input[name='title']").each(function(){ 
     this.focus(); 
     this.selectionEnd = this.selectionStart; 
    }); 
}); 
0
$("input[name='title']").focus(function() 
{ 
    var elem = $(this); 

    elem.val(elem.val()); 
}); 
+0

este trabajo también costumbre, estoy tratando estos todo en Chrome atm – Solo

-2

No es briliant compra puede ayudarle a

JSFiddle

básica: Sobrescriba lo que ya está allí ...

$(document).ready(function() { 
    $('#t1').focus(); 
    $('#t1').val($('#t1').val());      
}); ​ 
2

Esto se basa en la respuesta de Danilo Valente anterior. Me encontré con que en Chrome tuve que usar una pequeña demora antes de llamar this.selectionEnd = this.selectionStart, de lo contrario el texto de entrada quedaría seleccionado:

Esto funciona para mí en Chrome, Firefox, Safari e Internet Explorer (IE probado 10)

$("input").focus(function() { 
    var input = this; 
    setTimeout(function() { input.selectionStart = input.selectionEnd; }, 1); 
}); 

He aquí una demostración: http://jsfiddle.net/rangfu/300ah0ax/2/

Cuestiones relacionadas