27 Feb
Posted by pecesama as AJAX, JavaScript, Programacion
Imprimir este post
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…
11 Responses
Pecesama.Net [weblog] » Pagando apuesta
February 27th, 2006 at 6:48 am
1[...] Mientras espero que alguien me haga un poco de caso con mi duda anterior ahora me toca pagar mi apuesta del fin de semana, por lo que les pido que mientras pasa esta semana solo para dejar comentarios visiten mi página con un navegador, para lo demás usen su lector de feeds favorito para evitarles la molestia de ver esa imagen en mi barra lateral derecha [...]
Victor Bracco
February 27th, 2006 at 8:23 am
2Porque razón cambia el texto adentro del div?
pecesama
February 27th, 2006 at 8:29 am
3Victor 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 27th, 2006 at 9:38 am
4Y no es posible agregarlo al final de evento AJAX?
pecesama
February 27th, 2006 at 12:50 pm
5No 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 15th, 2006 at 5:00 pm
6No 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 15th, 2006 at 5:02 pm
7Quitaron estas etiquetas
Y desde dos botones mande a llamar a la funcion Cambia()
pecesama
March 17th, 2006 at 12:39 pm
8Wordpress 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 17th, 2006 at 12:45 pm
9Ahora 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 17th, 2006 at 5:00 pm
10Iep, 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 8th, 2007 at 3:00 pm
11Tengo 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
RSS feed for comments on this post · TrackBack URI
Leave a reply
Recomendados
Pecesama.Net [Wiki]
Meta
Publicidad
Calendario
Categorias
Recent Entries
Recent Comments
Most Commented
Pecesama.Net [weblog] is proudly powered by WordPress - BloggingPro theme by: Design Disease