Como se que entre mi lectores (pocos pero de calidad
) tengo varios expertos en JavaScript les dejaré una duda que tengo, voy a tratar de ser claro aunque no lo prometo
Bien el asunto va con el rollo de los eventos en JS, vamos a suponer que tengo el siguiente XHTML:
Entonces lo que busco es un evento en JS que se ‘dispare‘ al momento que el texto en el <div id="texto"> cambie y despues de que ya se que cambió analizar el nuevo texto que contiene (esta última parte no hay problema).
En realidad el formulario y el JS estan a manera de demostración ya que el cambio de texto puede venir por ejemplo por medio de AJAX.
Ahora bien, hasta donde se no existe un evento para el ‘change‘ del DIV y aqui es donde busco sus sugerencias para generar alguna manera eficiente de hacerlo, tal ves poniendo un ‘timer‘ con JS en la página y que cada X segundos este revisando el DIV para analizar el texto, pero esto seria muy ineficiente…
Victor Bracco
February 27, 2006 at 8:23 am
Porque razón cambia el texto adentro del div?
pecesama
February 27, 2006 at 8:29 am
Victor no tanto el texto, si no el contenido, ya vez que con AJAX lo que te regresa el HTTPRequest se pone en un DIV, por eso quiero obtener un evento cuando ocurra un cambio en el DIV.
Victor Bracco
February 27, 2006 at 9:38 am
Y no es posible agregarlo al final de evento AJAX?
pecesama
February 27, 2006 at 12:50 pm
No podria ser posible ya que no puedes controlar cuando ya se termino de procesar el archivo remoto, antes de la siguiente instruccion JS dentro de la misma llamada AJAX.
Necesito algo como lo siguiente:
Event.observe('textbox', 'keyup', ejecuta, false);Donde le pones un ‘listener’ a un textbox para cuando ocurra el evento keyup y ejecute la funcion que se llama ejecuta.
Misael Monterroca
March 15, 2006 at 5:00 pm
No se si aún te funcione pero acabo de leer tu post
Puedes utilizar el evento onpropertychange, mira
function Cambia()
{
divPrueba.innerHTML = “hola”;
}
function Cambia2()
{
divPrueba.innerHTML = “hola 2″;
}
function Cambio()
{
alert(‘hola’);
}
Misael Monterroca
March 15, 2006 at 5:02 pm
Quitaron estas etiquetas
Y desde dos botones mande a llamar a la funcion Cambia()
pecesama
March 17, 2006 at 12:39 pm
WordPress elimina las etiquetas, aqui lo pongo de nuevo lo que Misael escribio:
<html>
<script lang=JavaScript>
function Cambia()
{
divPrueba.innerHTML = "hola";
}
function Cambia2()
{
divPrueba.innerHTML = "hola 2";
}
function Cambio()
{
alert('hola');
}
</script>
<body>
<input type=button value="Prueba" onclick='Cambia();'>
<input type=button value="Prueba" onclick='Cambia2();'>
<div id="divPrueba" name="divPrueba" onpropertychange="Cambio();"></div>
</body>
</html>
pecesama
March 17, 2006 at 12:45 pm
Ahora si mi comentario
Gracias Misael, no conocÃa ese evento y su funcionalidad es exactamente lo que andaba buscando
pero hay un problema, solo es soportado por el IE
asà que no lo puedo utilizar en códice.
También en lugar de
divPrueba.innerHTMLte recomiendo usar el estándar del W3Cdocument.getElementById('divPrueba').innerHTMLen su lugar.Saludos.
Misael Monterroca
March 17, 2006 at 5:00 pm
Iep, desgraciadamente esos eventos son propietarios de IE
Gracias, suelo utilizarlo, aunque el demo que te mande lo realice solo como prueba de concepto
Wolfheart
February 8, 2007 at 3:00 pm
Tengo una llamada a HTTPRequest, para obtener el contenido de una pagina que contiene , y HTML.
y necesito que eso sea volvado a una DIV, lo cual lo hago con div.innerHTML.. pero esto no me volca las funciones que estan contenidas en la pagina web inicial.
y las necesito porque deseo llamar a una de ellas para poder gatillar el despliege de información dentro de la misma div que contiene el HTML.
Pero a pesar de todos mis intentos esto no lo puedo hacer. Habia pensado en un iframe dentro de la div; pero no puedo volcar la info dentro del iframe.
podrÃan pegarme una ayudita.
Muchas gracias