Me gustaría agregar la clase “activa” a la entrada en el foco de entrada, y cuando se desactive, eliminar esa clase.
Gracias
una vez que haya incluido jquery lib, es bastante estándar
$('input').focus( function() {
$(this).addClass('active');
});
$('input').blur( function() {
$(this).removeClass('active');
});
el enfoque y el desenfoque son más apropiados que el enfoque y el enfoque solo para el enfoque de entrada. Enfocar y enfocar eventos de burbujas en objetos secundarios y, en su mayor parte, eso es (probablemente) innecesario aquí.
cosas bastante estándar. eche un vistazo a los documentos de jquery para obtener más información. también puede modificar el selector (la parte de ‘entrada’) si solo lo desea para campos de entrada particulares.
ejemplos de selectores:
$(‘input#my_id_is_bob’) para $(‘input.my_class_is_activatable’) para
ozario
Si target-id es la identificación de la entrada en la que desea intercambiar la clase dentro y fuera, podría usar algo como esto:
$('#target-id').focusin(
function(){
$(this).addClass('active');
}).focusout(
function(){
$(this).removeClass('active');
});
$("#id-of-your-field").focusin(function() {
$('#id-of-your-field').addClass("active");
});
$("#id-of-your-field").focusout(function() {
$('#id-of-your-field').removeClass("active");
});
Esto solucionaría tu problema
-
Esto no funciona para mí, tal vez sea un problema en la versión jquery. tengo: jquery-1.4.2.min.js
– en algún lugar de PHP
24 de enero de 2011 a las 21:10
Pruebe lo siguiente.
$("input[type=text]").focus(function(){
$(this).addClass("active");
}).focusOut(function(){
$(this).removeClass("active");
});
bocinazo31
jQuery en () se vería así:
$('input').on("focus", function() {
$(this).addClass('active');
}).on("blur", function() {
$(this).removeClass('active');
});
o extra extra corto:
$('input').on("focus blur", function() {
$(this).toggleClass('active');
});
las alternativas para el enfoque y el desenfoque son “focusin” y “focusout”, pero son eventos burbujeantes como señaló Michael Glass.
El evento focusin se envía a un elemento cuando este, o cualquier elemento dentro de él, obtiene el foco. Esto es distinto del evento de enfoque en que admite la detección del evento de enfoque en los elementos principales (en otras palabras, admite el burbujeo de eventos).
nunopolonia
Puedes usar jQuery’s focus
y blur
funciones
$('input[type="text"]').focus(function() {
$(this).addClass("active");
});
$('input[type="text"]').blur(function() {
$(this).removeClass("active");
});
Bhavya
Probablemente quieras algo como $(this).attr('class','active');
en tus focusin
y $(this).attr('class','');
en tus focusout
.
-
Sí, puse el siguiente código y no funciona: $(documento).ready(function() { $(“input”).focusin(function() { $(this).addClass(‘active’); } ); $(“entrada”).focusout(función() { $(esto).removeClass(‘activo’); }); });
– en algún lugar de PHP
24 de enero de 2011 a las 21:05