Quiero capturar la tecla TAB, cancelar la acción predeterminada y llamar a mi propia función de JavaScript.jQuery: Cómo capturar la tecla TAB dentro de un cuadro de texto
Respuesta
Editar: Debido a que su elemento se inserta de forma dinámica, usted tiene que utilizar delegated on()
como en el ejemplo, pero usted debe unirse al evento KeyDown, porque a medida que los comentarios @Marc, en el IE el evento de pulsación de tecla doesn 't capturar teclas que no sean de carácter:
$("#parentOfTextbox").on('keydown', '#textbox', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
// call custom function here
}
});
Comprobar un ejemplo here.
$('#textbox').live('keypress', function(e) {
if (e.keyCode === 9) {
e.preventDefault();
// do work
}
});
Además, para cancelar la acción por defecto, utilice e.preventDefault(); en la primera línea de la función. –
esto no funciona para mí en IE6 + –
@Jon, la pulsación de tecla no captura las claves que no son caracteres en IE – Marc
Ejemplo de trabajo en jQuery 1.9:
$('body').on('keydown', '#textbox', function(e) {
if (e.which == 9) {
e.preventDefault();
// do your code
}
});
hacer 'e.preventDefault();' double para evitar insertar espacios en blanco en el cuadro de texto . – stil
métodos anteriores que se muestran no funcionó para mí, puede ser que estoy utilizando edad jQuery poco, luego, finalmente, el siguiente fragmento de código se muestra funciona para - publicar por si acaso alguien en mi misma posición
$('#textBox').live('keydown', function(e) {
if (e.keyCode == 9) {
e.preventDefault();
alert('tab');
}
});
una parte importante de la utilización de una tecla en la pestaña sabiendo que se pestaña siempre tratará de hacer algo ya, no se olvide de "return false" al final.
Esto es lo que hice. Tengo una función que se ejecuta en .blur y una función que intercambia donde está mi foco de forma. Básicamente agrega una entrada al final del formulario y va allí mientras ejecuta los cálculos en el desenfoque.
$(this).children('input[type=text]').blur(timeEntered).keydown(function (e) {
var code = e.keyCode || e.which;
if (code == "9") {
window.tabPressed = true;
// Here is the external function you want to call, let your external
// function handle all your custom code, then return false to
// prevent the tab button from doing whatever it would naturally do.
focusShift($(this));
return false;
} else {
window.tabPressed = false;
}
// This is the code i want to execute, it might be different than yours
function focusShift(trigger) {
var focalPoint = false;
if (tabPressed == true) {
console.log($(trigger).parents("td").next("td"));
focalPoint = $(trigger).parents("td").next("td");
}
if (focalPoint) {
$(focalPoint).trigger("click");
}
}
});
Prueba esto:
$('#contra').focusout(function(){
$('#btnPassword').focus();
});
Suponga que tiene cuadro de texto con el identificador txtName
$("[id*=txtName]").on('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
alert('Tab Pressed');
}
});
- 1. Captura de la tecla TAB en el cuadro de texto
- 2. jQuery: ¿tecla para la tecla TAB?
- 3. jQuery: cómo capturar la tecla presionando live()
- 4. No se puede capturar la tecla Entrar en el cuadro de texto de WinForms
- 5. Cómo simular TAB en tecla ENTRAR en javascript o jQuery
- 6. Jquery fadeout texto en un cuadro de texto y texto
- 7. Cómo capturar Ctrl + Tab y Ctrl + Shift + Tab en WPF?
- 8. Enlazar el cuadro de texto a la tecla 'enter'
- 9. Capturar texto pegado en un área de texto con JQuery
- 10. Cómo capturar la tecla Entrar, presione GtkEntry
- 11. Use la tecla Tab en un texto de líneas múltiples archivado en swt?
- 12. Rellene un cuadro de texto con jQuery
- 13. Cómo capturar la tecla borrar presionar C#?
- 14. Insertar pestañas en un cuadro de texto
- 15. ¿Cómo puedo escuchar una tecla TAB presionada/tipada en Java?
- 16. Interceptar la tecla TAB y suprimirla
- 17. Cómo enviar un activador de pulsación de tecla mediante JQuery
- 18. ¿Cómo recupero un valor de cuadro de texto usando JQuery?
- 19. Cómo configurar el cursor dentro del cuadro de texto después de cargar la página con jquery
- 20. ¿Vínculos dentro de cuadro de texto enriquecido?
- 21. ¿Cómo puedo saber cuándo se presiona la tecla Intro en un cuadro de texto?
- 22. ¿Desencadenar un evento de pulsación de tecla/teclado/tecla en JS/jQuery?
- 23. Capturar varias pulsaciones de tecla en C#
- 24. Simular evento de pulsación de tecla TAB en Selenium RC
- 25. JavaScript no puede capturar la combinación "SHIFT + TAB"
- 26. Cómo capturar cualquier tecla en X?
- 27. Cómo obtener la tecla Intro dentro de un cuadro de texto para activar una función y no el botón primero/predeterminado
- 28. Comportamiento de la tecla Tab en el control de edición del navegador
- 29. Capturar presionar la tecla presionar en el campo de entrada de texto en AS3
- 30. Ctrl + C en un cuadro de texto
esto no funciona para mí en IE8 = \ –
cuando presiono TAB en IE6 + el evento no se dispara (aunque se dispara en cualquier tecla alfanumérica) ... Necesito usar .live ('keypress', fn) –
Si solo funciona con Live, quizás esté insertando su elemento de cuadro de texto dinámicamente, si el elemento ya está en la página, funcionará, consulte este ejemplo: http://jsbin.com/oguhe – CMS