Foros del Web » Programando para Internet » Javascript »

eventos en javascript

Estas en el tema de eventos en javascript en el foro de Javascript en Foros del Web. Hola, ojalá alguien pueda asesorarme un poco, no sé como buscar informacion acerca de este tema. En javascrpt comunmente me encuentro con funciones que llevan ...
  #1 (permalink)  
Antiguo 27/05/2012, 01:52
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 2 meses
Puntos: 1
Pregunta eventos en javascript

Hola, ojalá alguien pueda asesorarme un poco, no sé como buscar informacion acerca de este tema.

En javascrpt comunmente me encuentro con funciones que llevan variables similares a esto:

//-------------------------------------------->
function nombre(e){ ... }

function nombre(event){ ... }

(function($){
$.ajax({
settings:'algo...',
success:{function(k){
...
}
}
})
});




$("#success").load("/not-here.php", function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);
}
});
//-------------------------------------------->

y así hay muchas "variables" que devuelven distintas cosas predefinidas.

El problema que encuentro es no poder buscar correctamente porque no sé cual es el nombre que se le dan a estas.

Si alguien pudiera asesorarme como buscar en google sobre el tema o tiene un link de documentacion le agradeceria mucho.

Saludos, buena noche aqui en méxico.

Última edición por yamatadvd2000; 27/05/2012 a las 07:42
  #2 (permalink)  
Antiguo 27/05/2012, 15:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 9 meses
Puntos: 1012
Respuesta: eventos en javascript

no lo he comprendido. las variables tendrán el valor que tú quieras asignarle o el valor que se le asigne en la ejecución de un código
Cita:
function fnc(a){
console.log(a);
var b = a + ' como estás??';
console.log(b)
}

<input type="button" value="invocarA" onclick="fnc('hola')"; />
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 27/05/2012, 15:46
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: eventos en javascript

Vamos a ver...
Esas funciones son conocidas como "funciones anónimas".
Por ejemplo:

Código Javascript:
Ver original
  1. var sumar = function (a,b){
  2. return a+b;
  3. }

Luego, en otra parte del código, puerdo hacer:
Código Javascript:
Ver original
  1. alert(sumar(3,10));
Y me pintará en un alert el número 13.

"Sumar" es una función anónima. Yo sé que en el programa se usará para sumar dos números, asi que declaro una función anónima "atada" a una variable llamada sumar, que recibe 2 argumentos (el nombre que tengan esos argumentos, no importa) y los devuelve sumados.

En JAVASCRIPT nativo, por ejemplo, las funciones anónimas son típicas para manejar los eventos de teclado y ratón. Por ejemplo:

Código Javascript:
Ver original
  1. function mi_funcion_de_manejo_raton(evento_de_raton){
  2. alert(evento_de_raton.pageX + " " + evento_de_raton.pageY);
  3. }
  4.  
  5. var capa= document.getElementById("mi_div");
  6. capa.onclick=mi_funcion_de_manejo_raton(evt);


O su forma resumida:
Código Javascript:
Ver original
  1. var capa= document.getElementById("mi_div");
  2. capa.onclick=function(evento_de_raton){
  3. alert(evento_de_raton.pageX + " " + evento_de_raton.pageY);
  4. }

Mirando la documentaciónde JAVASCRIPT, vemos que podemos redeclarar la función "onclick" de todos los elementos que capturemos del DOM de la página. Dicha función puede recoger 1 argumento, que es el evento con los datos del ratón en el instante que se disparó dicho evento. Para declarar mi función anónima, puedo llamar a ese argumento con el nombre que me de la gana. Sólo me importa saber que es del tipo EVENT, asi que le saco la información que me interesa (las coordenadas del ratón).

Vamos a ver lo que hace JQUERY.

Lo que hace JQUERY es llamar a una función anónima, función que tienes que declarar tú.
Por ejemplo, en LOAD se utiliza así:

Código Javascript:
Ver original
  1. $.post("pagina.php", function(response, status, xhr) { });
Imagina que esa función está programada de una forma parecida ésta, en pseudo código:
Código Javascript:
Ver original
  1. jQuery-function load(pagina_destino,funcion_success){
  2. var datos = cargar_pagina(pagina_destino);
  3. if (funcion_success==undefined) funcion_success = function (a,b,c) { };
  4. datos.cuandopaginaCargada = funcion_success(datos.texto, datos.estado, datos.error);
  5. }

Como ves, cuando la función del CORE de jQuery cargue una página, llamará a la función anónima que tú le has pasado en uno de los argumentos (aunque primero comprueba si le has pasado ese argumento; en caso contrario, crea una función anónima que no hace nada, para que luego no de error).
Como ves, lo único que necesitas saber es qué argumentos incluirá jQuery para llamar a tu función anónima, algo que por supuesto, viene en la documentación. El nombre no importa, tú en tu función anónima puedes llamar a los argumentos como quieras. Lo que te interesa saber es su número, y qué tipo de dato tiene cada uno.

Volvamos a
Código Javascript:
Ver original
  1. $.post("pagina.php", function(response, status, xhr) { });
function(response, status, xhr) { } es la función anínima que tienes que declarar tú. Sabes, con la documentación, que recibe 3 parámetros. El primero es el texto que recibe como respuesta la petición AJAX. El segundo, es el código de STATUS (200) quiere decir que hubo éxito en la petición al servidor. Y el tercero, es el objeto XmlHttpRequest que hizo la llamada AJAX. Tú lo has llamado RESPONSE, STATUS y XHR. Pero podías haberlos llamado TEXTO, ERROR y OBJ, y funcionaría exactamente igual. Sólo que en el código que estés usando dentro de esa función anónima, respetes el nombre de los argumentos que hayas puesto.

Última edición por marlanga; 27/05/2012 a las 15:59
  #4 (permalink)  
Antiguo 27/05/2012, 18:09
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: eventos en javascript

Ohhh!!. entiendo, Funcones anonimas. Gracias, aunque leí de a rapido tu respuesta marlanga, me as puesto en buena direccion, a partir de aqui investigar como funcionan, que hacen y precisamente, cuales son.

IsaBelM marlanga me sacó de la duda, no sn variables, son funciones que devuelven un resultado(es como lo entendí yo).

Pero buno, con el simple nombre de "funciones anonimas" poré buena documentacion.

Gracias por la orientacion, ojalá pueda contr con ustdes despues por cualquier eventualidad (despues de buscar en google claro).

Saludos desde méxico :D

Etiquetas: bonsai, eventos, radio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:29.