Programando o Intentándolo

19 Jun 2017

Control de eventos con jQuery para elementos HTML generados dinámicamente

Cuando el contenido de la página es estático es muy sencillo capturar los eventos con jQuery, ya sea por su id, por clase o de cualquier otra forma que podamos identificar los elementos para los que se quieren añadir eventos pero cuando se crea un nuevo elemento dinámicamente llega el “problema” porque los handlers (controladores, manejadores o como los quieras llamar) de jQuery solo capturan los eventos de los elementos que se crearon antes de que se crease el handler y por este motivo se suelen declarar en el $(document).ready() justo después de que este cargado todo el contenido de la página.

[crayon-5959870fae8a7966901679/]

Desasociar y volver a asociar los eventos

La primera idea para solucionarlo puede ser crear un nuevo handler cada vez que se crea el nuevo elemento pero la vamos a descartar porque estar creando y eliminando handlers es ineficiente y no podemos olvidar que antes de crear ...

25 Mar 2017

Variables y nuevos tipos de objetos JavaScript 6

Como es un lenguaje no tipado en javaScript las variables pueden almacenar cualquier tipo de objeto y por este motivo todas las variables se declaraban de la misma forma, usando var o simplemente poniendo el nombre de la variable sin más, hasta la la versión 6 de javaScript (ECMAScript v6) en la que se han introducido las constantes y las variables de bloque.

También se han incluido nuevos tipos de objetos interesantes como mapas Map y conjuntos Set y la no menos interesante nueva forma para intercalar variables dentro de cadenas de texto.

“Tipos” de variables

En realidad más correcto que tipos de variables sería hablar de ámbito de las variables por que los tipos que hay lo que diferencian es el ámbito en el que serán visibles, con excepción de las constantes que en realidad sí que serían un tipo, o más bien lo contrario a una variable.

Variables ...
11 Jul 2016

Convertir XML a JSON con javaScript

Desde el punto de vista del intercambio de datos JSON es una alternativa mejor al XML o al menos para la mayoria de los casos ya que un JSON es más legible, su conversión es mas simple (sobre todo en javaScript que no hay que hacer nada 😉 (JSON, acrónimo de JavaScript Object Notation)) y también ocupa menos espacio.

A pesar de todo sigue habiendo servicios web antiguos que usan XML y como es un proceso tedioso usarlo sobretodo cuando sabes que con JSON no hay que hacer nada, pues mejor hacer una vez una función que haga el trabajo sucio y convierta el xml a json.

Y la función es esta:

[crayon-5959870fb061e805423202/]

Poco más de 50 lineas para convertir una respuesta XML en un objeto javaScript o lo que viene a ser lo mismo en un JSON.

Pese a ser una función recursiva y ...

25 Mar 2016

Comprobar checkbox seleccionados con jQuery

Para comprobar si un checkbox esta seleccionado hay que comprobar la propiedad/atributo checked del <input type=”checkbox”/>, y esto se puede hacer o bien comprobando el valor de la propiedad o atributo con .prop() o .attr() para versiones antiguas de jQuery o con la función .is(selector).

Comprobar si un checkbox esta seleccionado

Con .prop() y .attr() se puede recuperar el valor de una propiedad de un elemento, por lo tanto simplemente necesitamos comprobar el valor de la propiedad checked (true => seleccionado / false => deseleccionado).

Otra opción es usar la función .is(selector). que comprueba si un elemento “encaja” con el selector indicado, (ej. $(‘input[type=checkbox]’).is(‘input’) => true y $(‘input[type=checkbox]’).is(‘li’) => false), usando el pseudo clase :checked se puede hacer la comprobación de si esta seleccionado o no.


[crayon-5959870fb0b7d804690692/]

Controlar cuando se selecciona/deselecciona un checkbox

El evento que se debe comprobar para poder controlar cuando se selecciona/deselecciona un checkbox es ...

29 Sep 2013

Como hacer un Slideshow con jQuery

Un Slideshow es una presentación de imágenes que se van mostrando siguiendo una secuencia y el cambio de una imagen a la siguiente normalmente va acompañado de algún tipo de animación y también puede tener música.

Aquí vamos a ver como crear slideshows en unas pocas líneas de código usando solo jQuery para hacer las animaciones porque usando javaScript podemos cambiar la animación el numero de imágenes, el tamaño, etc. de una forma realmente sencilla y rápida. También se puede hacer un slideshow con CSS3 y así evitar el uso de jQuery pero sería más trabajoso por lo que descartamos esta opción para esta ocasión.

Vamos con unos ejemplos para ver como hacer un slideshow con jQuery sin tener que usar plugins ni ninguna otra cosa que un poco de HTML, una sencilla hoja de estilo y unas pocas líneas de jQuery.

Estructura del slideshow

El slideshow va a tener ...