Tengo un guión escrito corto que funciona muy bien en Chrome:jQuery/JavaScript - event.target.id en Firefox
function updateSentence(){
$(document).ready(function() {
t = event.target.id;
$("#S"+t).html($("#"+t).val());
});
}
Sin embargo, en el caso de Firefox no está definido. He encontrado algunas preguntas similares que sugerían que caso tiene que ser pasado como parámetro a la función:
function updateSentence(event){
$(document).ready(function(event) {
t = event.target.id;
$("#S"+t).html($("#"+t).val());
});
}
Sin embargo, para mí, esta solución no soluciona el problema de Firefox, y que en realidad se rompe cómo funciona en Chrome. En Chrome, termina diciendo que event.target
no está definido cuando se pasan.
¿Qué estoy haciendo mal?
Después de recibir algunos comentarios, me di cuenta de que la forma en que estaba pensando en jQuery en general era incorrecta. No quería $(document).ready
llamado en cada actualización de la oración. La limpieza de la función con este conocimiento que terminó con:
function updateSentence(){
t = event.target.id;
$("#S"+t).html($("#"+t).val());
}
Esto todavía actualiza correctamente la frase en Chrome, sin embargo, continúa target
que no está definido en Firefox. ¿Qué podría necesitar hacer para que esto funcione en Firefox? ¿Y sigo haciendo algo fundamentalmente malo en jQuery?
Además, para responder una pregunta en los comentarios, el evento que estoy buscando es el onchange
evento que desencadenó updateSentence()
. Esto debe invocarse cuando se cambia un campo de selección/texto.
(estoy todavía nuevo en jQuery y JavaScript en general, y estoy seguro de que sólo estoy haciendo un simple error.)
encontré mi respuesta. Publicaré en un par de horas cuando el sitio me lo permita.
¿Qué esperas que sea el objetivo? '$ (document) .ready' envía jQuery como un argumento - no hay un elemento de destino. – pimvdb
No creo que ejecutar el (documento). Listo dentro de otra función es una buena idea. Se supone que debe ejecutarse una vez, en la página 'listo'. Si se llama después de ese evento, no actuará como lo desees. – lifeIsGood
Su uso de 'sin embargo en Firefox' sugiere que, en otro navegador, obtiene un resultado de alguna parte. Usted realmente no debería ser No con esa secuencia de comandos. –