SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                       Curso E-Ghost Julio 2009
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                                 Introducción


¿Qué es Javascript?

   Javascript != Java
   Creado por Bredan Eich para Navigator 2.0 (1995)
   Lenguaje ligero interpretado en navegadores web (aunque no
      exclusivamente)
   Javascript es una implementación de ECMAScript (lenguaje de scripting
      basado en prototipos)
   El script se descarga directamente al navegador, y es ejecutado siempre
      en el lado del cliente: tecnología del cliente, dependiente del
      software del cliente (de su navegador)
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                                 Introducción


¿Cómo debería de ser Javascript?

  Multinavegador
    Debe respetar las “implementaciones” de todos los navegadores y sus
     versiones más utilizadas.
  No Intrusivo
    Separar Javascript / código XHTML / CSS.
    Versiones accesibles.
  Ligero
    Facilitar tiempos de carga
    jsmin / mod-gzip / etc...
  Ejecución rápida
    Es un lenguaje de muy alto nivel... su ejecución a veces de demasiado lenta,
      innavegable casi...
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                               Introducción


DOM

 Document Object Model
   Representación estándar de un documento XML (o HTML/XHTML), que
     representa como objetos los elementos que lo componen.
   Independiente del lenguaje y/o de la plataforma.
   Permite acceder y modificar dinámicamente tanto la estructura y como el
     estilo de documentos.
   Javascript posee un conjunto de métodos que permite acceder y modificar
     los objetos y atributos de un documento XHTML.
   Existe un estándar del W3C, implementado a medias por la mayoría de los
     navegadores.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                                 Introducción


¿Qué es jQuery?

  Librería abstracción Javascript
  Creada por John Resig (Sept. 2005)
  Se encarga de “gustar” a todos los navegadores
       IE6.0 / Firefox 2.0 / Safari 2.0 / Opera 9.0
  Acceso DOM ágil y optimizado
  Permite animaciones simples
  Manejador Eventos
  Facilitar AJAX
  Ahorro espectacular de muchas líneas de código
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                                Introducción


¿Por qué jQuery? (y no otra librería de abstracción)
  API sencilla y potente
  Muy ligera (19Kb minificada y gzipeada)
  Potente sistema de plugins (http://plugins.jquery.com)
  Buen soporte de la comunidad
  Gran continuidad en su desarrollo
  Si Google, IBM, BBC, Wordpress, Drupal, Digg, Meneame o Irontec ;)
     utilizan jQuery... por algo será.
  Funciona juntgero interpretado en navegadores web (aunque no
     exclusivamente)
  Javascript es una implementación de ECMAScript (lenguaje de scripting
     basado en prototipos)
  El script se descarga directamente al navegador, y es ejecutado siempre
     en el lo con otras librerías de abstracción
Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3

                                                       Introducción a jQuery
¿Por dónde empezar con jQuery?

  Creando un documento XHTML e insertando jQuery en el mismo:

 <!DOCTYPE …
 <html lang="en">
 <head>

 <script src="jquery-1.3.2.min.js" type="text/javascript"></script>

 </head>
 <body>

 </body>
 </html>
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                        Introducción a jQuery
Core de jQuery

  $()

    Esta función es el núcleo de jQuery.
    En realidad es un alias para la función jQuery().
    Encapsula 1 ó más objetos DOM y permite interactuar con ellos de varias
      maneras.
    Mediante “selectores” o “expresiones” dentro de un contexto o no, parseará
     el objeto DOM y lo introducirá en un objeto jQuery.
    Automáticamente interactúa sobre los N objetos DOM que sean resueltos
     mediante el selector escogido.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                    Introducción a jQuery



$(expresión, [contexto])

  Esta es la manera de crear un objeto jQuery a partir de una expresión.


  La expresión se crea a partir de selectores y filtros dentro o no de un
    contexto.



$('elemento del DOM') => devuelve            array de elementos
seleccionados.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                  Introducción a jQuery



$(html)



  Esta es la manera de crear un objeto jQuery a partir de un elemento.



$('<p>hola</p>') => crea un objeto a partir del html que hemos
insertado. Después podremos manipularlo a nuestro antojo.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                          Introducción a jQuery (selectores)
Selectores
  Selectores Básicos

    $('*')
        Convierte todos los elementos del DOM en un objeto jQuery.


    $('name')
      Busca los elementos con el nombre del tag.
 $('input') => devuelve un array con todos los input que se
 encuentren el en DOM.


    $('#id')
      Busca un elemento que tenga el atributo id.
 $('#box_principal') => devuelve un array con un único elemento
 con el atributo id igual a “box_principal”.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                          Introducción a jQuery (selectores)
  $('.class')
     Busca uno o varios elementos que contengan la clase.
$('.red') => devuelve un array con todos los elementos del DOM
que contengan la clase “.red”.


  $('.class.class')
     Busca uno o varios elementos que contengan las clases.
$('.red.selected') => devuelve un array con los elementos del
DOM que contengan las dos clases.


  $('selector1, selector2, selectorN')
     Devuelve un resultado combinado con con los selectores.
$('.red, .green, .blue, a') => devuelve un array con todos los
objetos del DOM que contengan las tres clases de colores más
con todos los elementos tipo a del DOM.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                     Introducción a jQuery (selectores)
Selectores Jerárquicos

  Descendiente
$('#page a') => todos los elementos tipo a dentro del
“elemento” con el tag id igual a “page”.


  Parent > child
$('#page > a') => todos los elementos tipo a dentro del
“elemento” con el tag id igual a “page” en un primer nivel, es
decir HIJOS de #page.


  Previous + next
$('label + input') => todos los elementos label seguidos de un
input.


  Previous ~ siblings
$('h2 ~ p') => todos los elementos tipo p después del h2 del
DOM.
Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3

                                           Introducción a jQuery (selectores)
Filtros
  Filtros Básicos

     :first | :last , primer | último
  $('p:last') => devuelve el último p del documento.

     :not(selector)
  $('p:not(.text)') => devuelve todos los elementos tipo p que
  no contienen la clase “.text”.

     :eq(índice) | :gt(índice) | :lt(índice)
  $('p:eq(2)') => el tercer el elemento del array de “p”s del
  objeto.
  $('p:gt(3)') => todos los p cuyo índice es mayor que 3.
  $('p:lt(3)') => todos los p cuyo índice es menor que 3.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                      Introducción a jQuery (selectores)


  :even | :odd
$('p:even') => p pares.
$('p:odd') => p impares.


  :header
$(':header') => elementos del DOM tipo header (h1,h2,h3,...).


  :animated
$('div:animated') => elemento animado del DOM.
Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3

                                     Introducción a jQuery (selectores)
Filtros de Contenido

  :contains
$(“p.text:contains('foo')”) => todos los p con la clase .text
que contengan en el texto la palabra “foo”.


  :empty
$('p:empty') => todos los elementos p que no tengan contenido
en su interior.


  :has(selector)
$('p:has(a)') => todos los p que contengan en el interior
elementos tipo a.


Filtros de Visibilidad

  :visible | :hidden
$('div:hidden') => todos los div ocultos.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                     Introducción a jQuery (selectores)
Filtros mediante Atributos

  [attr]
$('div[class]') => devuelve todos los div que tienen clase.


  [attr (=)(!=)(^=)($=)(*=) value]
      = Igual
      != Diferente
      ^= Empieza
      $= Acaba
     *= Contiene
<a href=”ejemplo_atributos.html” title=”un ejemplo de
selectores con atributos” >ejemplo</a>

$('a[href$=html][title*=ejemplo]') => devuelve los a que en el
atributo href acabe por html y en el atributo title contenga
ejemplo.

En jQuery 1.3 “[@attr]” desaparece.
Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3

                                       Introducción a jQuery (selectores)
Filtros de Formularios

  :input
$(':input',$('#formulario)) => todos los elementos tipo input,
textarea, select y button en el contexto elemento con id
“formulario”.

  Por tipo
:hidden | :text | :password | :checkbox | :radio | :image |
:file | :button | :submit | :reset

$('input:submit , input:button') => devuelve un array con los
elementos tipo input cuyo “tipo” se submit o button

  Por estado
:enabled | :disabled | :checked | :selected

$('checkbox:checked') => todos los checkbox que estan
checkeados.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                        Introducción a jQuery (Atributos)
Atributos

  Obtener y asignar valores mediante atributos
    attr(name)
    attr(key, value)


 <input type=”text” name=”nombre” class=”current”
 value=”foo” />

 alert($('input').attr('name')); => mostrará el valor del
 atributo nombre del input.

 $('input').attr('name','apellido'); => seteará el atributo
 name a “apellido”
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                         Introducción a jQuery (Atributos)
Obtener y asignar Clases

  hasClass(class)
  addClass(class) / removeClass(class)
  toggleClass(class, switch)


<input type=”text” name=”nombre” class=”current”
value=”foo” />

$('input').hasClass('current'); => devolverá true si input
contiene la clase current.

$('input').removeClass('current').addClass('notCurrent'); =>
borrará la clase “current” y añadira la clase “notCurrent”.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                        Introducción a jQuery (Atributos)
Obtener y asignar html

  html() / html(html)
<p>Tengo una bici <strong>roja</strong></p>

$('p').html() => devolverá un string con “Tengo una bici
<strong>roja</strong>”

$('p strong:eq(0)').html('<em>azul</em>'); => insertará en la
primera etiqueta strong dentro de p “<em>azul</em>” .

Obtener y asignar texto
  textl() / text(text)
<p>Tengo una bici <strong>roja</strong></p>

$('p').text() => devolverá un string con “Tengo una bici roja”

$('p strong:eq(0)').text('<em>azul</em>'); => insertará en la
primera etiqueta strong dentro de p
“&lt;em&gt;azul&lt;/em&gt;” .
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                       Introducción a jQuery (Atributos)
Obtener y asignar valores

  val() / val(valor)

<input type=”text” name=”nombre” value=”foo”>

$('input').val(“SUPER”+$('input').val());

<input type=”text” name=”nombre” value=”SUPERfoo”>
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                   Introducción a jQuery (Manipulación)
Manipulación del DOM

  Insertar dentro del selector
    $(selector).append(contenido) [al final]
    $(contenido).appendTo(selector) [al final]
    $(selector).prepend(contenido) [al principio]
    $(contenido).prependTo(selector) [al principio]

 <p>Hola </p>

 $('<strong>qué tal</strong>').appendTo('p');
 $('p').append('?').prepend('¿');

 Resultado:

        <p>¿Hola <strong>qué tal</strong>?</p>
Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3

                                  Introducción a jQuery (Manipulación)


Insertar fuera del selector
  after(contenido) [después]
  before(contenido) [antes]
  insertAfter(selector) [insertar después]
  insertBefore(selector) [insertar antes]

<p><a href=”” >aquí</a><p>

$('a').before('<em>Pincha </em>');

<p><em>Pincha </em><a href=”” >aquí</a><p>
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                  Introducción a jQuery (Manipulación)
Insertar alrededor del selector
  wrap(html|elemento) / wrapAll(html|elemento)
  wrapInner(html|elemento)


            <p class=”ejemplo”></p>
             <a>texto</a>
             <a>texto2</a>
$('a').wrap('<div></div>');
  Resultado:
             <div><a>texto</a></div>
             <div><a>texto2</a></div>
$('a').wrapAll($('.ejemplo'));
  Resultado:
             <p class=”ejemplo”><a>texto</a>
          <a>texto2</a></p>
$('a').wrapInner('<em></em>');
  Resultado:
             <a><em>texto</em></a>
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                   Introducción a jQuery (Manipulación)
Sustituir (replacear) contenido
  selector.replaceWith(contenido)
  contenido.replaceAll(selector)
<a>texto<a>
$('a').replaceWith('<em>'+$('a').text()+' sustituido</em>');
<em>texto sustituido</em>

Borrar contenido
  empty(): borra, vacía el contenido dentro del selector.
  remove(): borra todo del DOM


Copiar contenido
  clone(): copia el contenido.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                               Introducción a jQuery (Manipulación, CSS)
●   Manipulación del DOM, CSS
      –   CSS

           ●    css(nombre)
     $('p').css('color') => devuelve el valor del atributo de
     css color

           ●    css(nombre, valor)
     $('p').css('color','#000') => aplica el estilo a p
     $('p').css({'color':'#000','font-size','.85em', … }) =>
     aplica el estilo a p
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                            Introducción a jQuery (Manipulación, CSS)
–   Posicionamiento
      ●   offset( )
               –   Devuelve la posición relativa al documento del elemento en
                    píxeles. [top,left]
      ●   position( )
               –   Devuelve la posición relativa al padre del elemento en píxeles.
                    [top,left]
      ●   scrollTop( ) / scrollLeft( )
               –   Devuelve el offset del primer elemento encontrado.


–   Height / Width
      ●   width() / height( )
      ●   innerwidth() / innerheight( )
      ●   outerwidth() / outerheight( )
                   Devuelven o setean valores de anchura o altura.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                            Introducción a jQuery (Métodos Trasversales)
Métodos Trasversales
  Métodos que se aplican a un selector que devuelven elementos del
   DOM a partir de un selector.

  Filtros
 <input     type=”text”    class=”a”      />
 <input     type=”text”    class=”b”      />
 <input     type=”text”    class=”b”      />
 <input     type=”text”    class=”a”      />

    eq(índice)
 $('input').eq(0) => devuelve el primer input
    filter(función) / filter(expresión)
 $('input').filter('.b') => devuelve de los input los que
 contengan la clase “b”
    is(expresión)
 $('.a').is('input') => devuelve true en caso de que el
 elemento sea de tipo input
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                        Introducción a jQuery (Métodos Trasversales)
  not(expresión)
$('input').not('.a') => devuelve los input que no contengan la
clase “a”


Buscadores
<div><p>buscadores</p></div>
  add(expresión)
$('div').add('p') => añade al selector principal los elementos
del DOM tipo p
  children(expresión)
$('div').children('p') => devuelve todos los hijos tipo p de
div
  find(expresión)
$('div').find('p') => devuelve todos los elementos de tipo p
que hay dentro de div, hijos y nietos.
  contents()
 $("iframe").contents().find("body").append('<p>hola</p>') =>
entra en el iframe busca el body y inserta al final del mismo
“hola”
Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3

                          Introducción a jQuery (Métodos Trasversales)



  next(expresión) / nextAll(expresión)
     devuelve el siguiente / los siguiente/s elemento/s según la expresión.
  prev(expresión) / prevAll( expr )
     devuelve el anterior / los anteriores elemento/s según la expresión.
  parent(expresión) / parents(expresión)
     devuelve el/los nodos padres del elemento según la expresión.
  andSelf()
<div><p></p><p></p><div>
$('div').children('p').andSelf() => todos p dentro del div y
el mismo div
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                            Introducción a jQuery (Eventos)
Eventos
  Carga de la Página
    ready(función)
           $(document).ready(function(){
                   alert(“el documento está cargado”);
           });
  Captura de eventos
    bind( type, data, fn)
      Bindea un evento a un objeto jQuery como click, dblclick, mouseover, ...
 $('a.click').bind('click',function(){
         alert('click');
 });
    unbind( type, fn )
      Desbindea el evento del objeto.
 $('a.click')bind('mouseover',function(){$
 (this).addClass('over');}).bind('click',function()
 {alert('click');}).unbind('click'); => solamente quedará
 bindeado el evento mouseover
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                           Introducción a jQuery (Eventos)


  one( type, data, fn )
     bindea el evento solo una vez y después se desbindea.
  trigger( event, data )
     Lanza el evento sobre un objeto.
$('a').trigger('click'); => lanza el evento click sobre el
elemento a.
  triggerHandler( event, data )
     Lanza el evento sobre un objeto y saca el “foco”.
  live( type, fn )
     Bindea el evento para los elementos actuales y futuros.
  die( type, fn )
     Es el unbind del live()
Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3

                                            Introducción a jQuery (Eventos)
Helpers

  hover( over, out )
  toggle( fn, fn2, fn3,fn4,... )
  blur( )
  change( )
  click( )
  dblclick( )
  error( )
  focus( )
  keydown( )
  keypress( )
  keyup( )
  load( fn )
  mousedown( fn )
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                        Introducción a jQuery (Eventos)


mouseenter( fn )
mouseleave( fn )
mousemove( fn )
mouseout( fn )
mouseover( fn )
mouseup( fn )
resize( fn )
scroll( fn )
select( )
submit( )
unload( fn )
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                             Introducción a jQuery (Utilidades)
●   Utilidades de jQuery
       –   Navegador y detección de opciones
             ●   $.browser: datos sobre el navegador
             ●   $.browser.version: versión del navegador
       –   $.support
                 valores booleanos sobre las opciones que acepta el navegador.
             ●   $.support.boxModel
                     –   cssFloat
                     –   hrefNormalized
                     –   htmlSerialize
                     –   leadingWhitespace
                     –   noCloneEvent
                     –   objectAll
                     –   opacity
                     –   scriptEval
                     –   style
                     –   tbody
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                         Introducción a jQuery (Utilidades)
 –   Arrays y operaciones
       ●   $.each(objeto, función)
               –   Iterador que sobre el objeto.
       ●   $.extend()
               –   Extiende un objeto con otro devolviendo un objeto.
       ●   $.grep(array,función)
$.grep( [0,1,2], function(n,i){
  return n > 0;
}); => devuelve [1,2]
       ●   $.makeArray(obejto)
               –   Crea un array a partir de un objeto.
       ●   $.map(array,función)
               –   Pasa los valores de un array a otro mapeado los valores del primer
                     array.
       ●   $.inArray(valor,array)
               –   Devuelve el índice del valor a buscar en el array, -1 si no está.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                  Introducción a jQuery (Utilidades)
●   $.merge(array,array2)
         –   Mergea dos arrays.
●   $.unique(array)
         –   Saca los valores duplicados de un array
●   $.isArray(objeto)
         –   Devuelve true cuando es objeto es un array. False cuando no.
●   $.isFuction(objeto)
         –   True cuando es una función.
●   $.trim(string)
         –   Borra los espacios en blanco del principio y del final de un array.
●   $.param(objeto)
         –   Serializa en forma de url un objeto.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                 Introducción a jQuery (Ajax)
●   Ajax ¿Qué es ajax?
       –   Asynchronous Javascript and XML.
       –   Peticiones asíncronas de datos al servidor, realizadas desde
              Javascript.
       –   No siempre se devuelve XML; casi siempre se trata de HTML o
              JSON (AHAH)
       –   Nos permite construir sitios web interactivos sin necesidad de
              recargar el documento descargado.
       –   Es posible gracias al objeto XMLHttpRequest.
             ●   X-Requested-With = XMLHttpRequest
       –   Como siempre, implementación aleatoria en cada navegador
       –   Con jQuery nos da igual :)
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                Introducción a jQuery (Ajax)
–   Peticiones Ajax
      ●   $.ajax( options )
               –   Carga un contenido remoto utilizando HTTP request.
      ●   load( url, data, callback )
               –   Carga HTML de un fichero remoto i lo inserta en el DOM.
      ●   $.get( url, data, callback, type )
               –   Carga una página remota utilizando HTTP GET request.
      ●   $.getJSON( url, data, callback )
               –   Carga datos de tipo JSON utilizando HTTP GET.
      ●   $.getScript( url, callback )
               –   Carga y ejecuta javascript utillizando HTTP GET request.
      ●   $.post( url, data, callback, type )
               –   Carga una página remota utilizando HTTP POST.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                           Introducción a jQuery (Ajax)
–   Eventos de Ajax
      ●   La función ajax tiene diferentes eventos:
              –   ajaxComplete(callback)
              –   ajaxError(callback)
              –   ajaxSend(callback)
              –   ajaxStart(callback)
              –   ajaxStop(callback)
              –   ajaxSuccess(callback)


–   Ajax Misc
              –   $.ajaxSetup();
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                         Introducción a jQuery (Ajax)
 –   Petición ajax

$.ajaxSetup({
  url: "ajax.php",
  type: "POST",
  DataType: “JSON”
});
$.ajax({ data: ({name: “ajax”}) , success:
function(){
 alert(“success”)
  }
});
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                               Introducción a jQuery (efectos)
●   Efectos
          Efectos sobre el elemento mediante un efecto sencillo de mostrar
             y ocultar los elementos.
              ●   show() / hide()


      $('#hiddenBox').show('fast',function(){alert(“show”);});
      ●

      ●

              ●   toggle()


                  Cuando el elemento está en “hide” mediante el efecto show lo
                   muestra, y al revés.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                       Introducción a jQuery (efectos)


    Efectos tipo cortina.
      ●   slideDown() / slideUp()

●$('#hiddenBox').slideDown('fast',function()
{alert(“show”);});
●

      ●   slideToggle()


          Cuando el elemento está en “hide” mediante el efecto show lo
           muestra, y al revés.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                       Introducción a jQuery (efectos)


    Efectos tipo opacidad.
      ●   fadeIn() / fadeOut()


$('#hiddenBox').fadeIn('fast',function(){alert(“show”);});
●

●

      ●   fadeTo(speed,opacity,callback)


          Cuando el elemento está en “hide” mediante el efecto show lo
           muestra, y al revés.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                      Introducción a jQuery (efectos)
   Efectos custom

     ●   animate() / stop()


$('div').animate({"opacity": "0.5"}, 1000); => el div irá a
una opacidad de 0.5 en un segundo.

El stop() para la propagación del efecto, pudiendo dejar el
elemento como esta o devolverlo a un estado inicial.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                                           Debug

●   Debug simple
    –   Siempre ha sido complicado debuggear javascript (con algunos
        navegadores más que con otros). En general, en los últimos años,
        Firefox (gecko), es el rey en el desarrollo del lado del cliente:
    –   Firebug:
        ●   Inspeccionar DOM / Debug JS (Watch / Breakpoints / etc...) /
            Profiling / Objeto console (console.debug)
    –   Livehttpheaders
        ●   Permite observar exactamente las cabeceras HTTP tanto de petición
            como de respuesta.
    –   WebDeveloper
        ●   Completa barra de Herramientas que se complementa perfectamente
            con las otras 2 herramientas.
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                                       Enlaces

●   http://www.jquery.com
●   http://plugins.jquery.com
●   http://ui.jquery.com/
●   http://code.google.com/p/minify/
    –   Reduce el tamaño de tus .js y .css (y aumenta la velocidad de carga).
●   http://dean.edwards.name/packer/
    –   Optimiza (y ofusca) tus .js
●   http://www.getfirebug.com
●   http://chrispederick.com/work/web-developer/
●   http://livehttpheaders.mozdev.org/
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                              Licencia Copyleft



Lander Ontoria Gardeazabal <lander@irontec.com>



                   Copyright
Introducción a jQuery y nuevas funcionalidades de jQuery 1.3

                                                        Licencia Copyleft

●   Este documento está protegido bajo la licencia
    Reconocimiento-SinObraDerivada 2.1 España de Creative
    Common (http://creativecommons.org/licenses/by-nc-
    sa/3.0/es/)
    Copyright © 2008 Irontec <contacto@irontec.com>

    Se permite la copia, modificación, distribución, uso
    comercial y realización de la obra, siempre y cuando se
    reconozca la autoría de la misma, a no sea ser que se
    obtenga permiso expreso del autor. El autor no permite
    distribuir obras derivadas a esta.

    Esta nota no es la licencia completa de la obra, sino
    una traducción de la nota orientativa de la licencia
    original completa (jurídicamente válida).

Contenu connexe

Tendances

Charla Jquery
Charla JqueryCharla Jquery
Charla Jquerykaolong
 
Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva pagejubacalo
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLjubacalo
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSPjubacalo
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcatjubacalo
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletjubacalo
 
nuevas etiquetas html rora!!! =)
nuevas etiquetas html rora!!! =)nuevas etiquetas html rora!!! =)
nuevas etiquetas html rora!!! =)sol2395
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojubacalo
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Comprasriqsiq
 
JSON Support en SQL Server 2016
JSON Support en SQL Server 2016JSON Support en SQL Server 2016
JSON Support en SQL Server 2016SpanishPASSVC
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptjubacalo
 
Elementos de script en JSP
Elementos de script en JSPElementos de script en JSP
Elementos de script en JSPjubacalo
 

Tendances (20)

Charla Jquery
Charla JqueryCharla Jquery
Charla Jquery
 
Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva page
 
Handlebars
HandlebarsHandlebars
Handlebars
 
J query
J queryJ query
J query
 
Doctrine2 sf2Vigo
Doctrine2 sf2VigoDoctrine2 sf2Vigo
Doctrine2 sf2Vigo
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTML
 
JQuery-Tema 1
JQuery-Tema 1JQuery-Tema 1
JQuery-Tema 1
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcat
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servlet
 
Clase 8 Manipulación del DOM
Clase 8 Manipulación del DOMClase 8 Manipulación del DOM
Clase 8 Manipulación del DOM
 
nuevas etiquetas html rora!!! =)
nuevas etiquetas html rora!!! =)nuevas etiquetas html rora!!! =)
nuevas etiquetas html rora!!! =)
 
Ruby intro
Ruby introRuby intro
Ruby intro
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogo
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Compras
 
Javascript
JavascriptJavascript
Javascript
 
JSON Support en SQL Server 2016
JSON Support en SQL Server 2016JSON Support en SQL Server 2016
JSON Support en SQL Server 2016
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScript
 
Guiajquery
GuiajqueryGuiajquery
Guiajquery
 
Elementos de script en JSP
Elementos de script en JSPElementos de script en JSP
Elementos de script en JSP
 

Similaire à jQuery 1.3 Eghost Julio2009

Similaire à jQuery 1.3 Eghost Julio2009 (20)

Guia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt GudeGuia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt Gude
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
 
Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicket
 
Mootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JSMootools Y Otros Frameworks JS
Mootools Y Otros Frameworks JS
 
Tutorial Java Script
Tutorial Java ScriptTutorial Java Script
Tutorial Java Script
 
Primer presentacion
Primer presentacion Primer presentacion
Primer presentacion
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Taller de Jquery
Taller de JqueryTaller de Jquery
Taller de Jquery
 
jQuery y ASP
jQuery y ASPjQuery y ASP
jQuery y ASP
 
En 20 minutos ... jQuery
En 20 minutos ... jQueryEn 20 minutos ... jQuery
En 20 minutos ... jQuery
 
La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo Toolkit
 
Manual Basico de jQuery
Manual Basico de jQueryManual Basico de jQuery
Manual Basico de jQuery
 
Introduccion a j_query
Introduccion a j_queryIntroduccion a j_query
Introduccion a j_query
 
El Mal Odiado Javascript
El Mal Odiado JavascriptEl Mal Odiado Javascript
El Mal Odiado Javascript
 
Extender Jquery para crear componentes web personalizados
Extender Jquery  para crear componentes web personalizadosExtender Jquery  para crear componentes web personalizados
Extender Jquery para crear componentes web personalizados
 
1 -programacion_oo
1  -programacion_oo1  -programacion_oo
1 -programacion_oo
 
05 jsp tags
05 jsp tags05 jsp tags
05 jsp tags
 
Tarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdfTarea_Investigacion programacion .pdf
Tarea_Investigacion programacion .pdf
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery
 

Plus de Irontec

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoIrontec
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPIrontec
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderIrontec
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCIrontec
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Irontec
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17Irontec
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...Irontec
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioIrontec
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerIrontec
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseIrontec
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Irontec
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecIrontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskIrontec
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanIrontec
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPIrontec
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraIrontec
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Irontec
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec
 

Plus de Irontec (20)

Gestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajoGestion de proyectos con GitLab en tiempos de teletrabajo
Gestion de proyectos con GitLab en tiempos de teletrabajo
 
Sobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIPSobre cómo gestionamos centenares de despliegues de VoIP
Sobre cómo gestionamos centenares de despliegues de VoIP
 
Presente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ ProviderPresente y futuro del nuevo IVOZ Provider
Presente y futuro del nuevo IVOZ Provider
 
Automated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTCAutomated Testing para aplicaciones VoIP, WebRTC
Automated Testing para aplicaciones VoIP, WebRTC
 
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
Asterisk: Liberando y generando modelos de negocio en gran cuenta y operador ...
 
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
LA REVOLUCIÓN DEL CLOUD COMPUTING: NUEVA ERA DE DESARROLLO - OpenExpo17
 
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
IVOZ Provider Open Source - La solución VoIP opensource para operadores e int...
 
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / KamailioEscalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
Escalabilidad “horizontal” en soluciones VoIP basadas en Asterisk / Kamailio
 
VoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz providerVoIP2DAY 2015 - Workshop comercial ivoz provider
VoIP2DAY 2015 - Workshop comercial ivoz provider
 
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
Irontec - comunicaciones unificadas en educación - biopen eduka - software li...
 
Comparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSenseComparativa Firewall: IPCop vs. pfSense
Comparativa Firewall: IPCop vs. pfSense
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Curso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | IrontecCurso de introducción a Sphinx | Irontec
Curso de introducción a Sphinx | Irontec
 
Curso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y AsteriskCurso de VoIP / Parte 01: VoIP y Asterisk
Curso de VoIP / Parte 01: VoIP y Asterisk
 
Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: Dialplan
 
Curso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIPCurso de VoIP / Parte 02: SIP
Curso de VoIP / Parte 02: SIP
 
Curso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzadosCurso de VoIP / Parte 04: Conceptos avanzados
Curso de VoIP / Parte 04: Conceptos avanzados
 
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskeraEuskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
Euskera zabaltzeko gure app berriak | Nuestras apps para difundir el euskera
 
Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6Virtualizacion KVM + libvirt + HREL6
Virtualizacion KVM + libvirt + HREL6
 
Irontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IPIrontec - Presentación de servicios de telefonía IP
Irontec - Presentación de servicios de telefonía IP
 

Dernier

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Dernier (10)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

jQuery 1.3 Eghost Julio2009

  • 1. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Curso E-Ghost Julio 2009
  • 2. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción ¿Qué es Javascript? Javascript != Java Creado por Bredan Eich para Navigator 2.0 (1995) Lenguaje ligero interpretado en navegadores web (aunque no exclusivamente) Javascript es una implementación de ECMAScript (lenguaje de scripting basado en prototipos) El script se descarga directamente al navegador, y es ejecutado siempre en el lado del cliente: tecnología del cliente, dependiente del software del cliente (de su navegador)
  • 3. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción ¿Cómo debería de ser Javascript? Multinavegador Debe respetar las “implementaciones” de todos los navegadores y sus versiones más utilizadas. No Intrusivo Separar Javascript / código XHTML / CSS. Versiones accesibles. Ligero Facilitar tiempos de carga jsmin / mod-gzip / etc... Ejecución rápida Es un lenguaje de muy alto nivel... su ejecución a veces de demasiado lenta, innavegable casi...
  • 4. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción DOM Document Object Model Representación estándar de un documento XML (o HTML/XHTML), que representa como objetos los elementos que lo componen. Independiente del lenguaje y/o de la plataforma. Permite acceder y modificar dinámicamente tanto la estructura y como el estilo de documentos. Javascript posee un conjunto de métodos que permite acceder y modificar los objetos y atributos de un documento XHTML. Existe un estándar del W3C, implementado a medias por la mayoría de los navegadores.
  • 5. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción ¿Qué es jQuery? Librería abstracción Javascript Creada por John Resig (Sept. 2005) Se encarga de “gustar” a todos los navegadores IE6.0 / Firefox 2.0 / Safari 2.0 / Opera 9.0 Acceso DOM ágil y optimizado Permite animaciones simples Manejador Eventos Facilitar AJAX Ahorro espectacular de muchas líneas de código
  • 6. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción ¿Por qué jQuery? (y no otra librería de abstracción) API sencilla y potente Muy ligera (19Kb minificada y gzipeada) Potente sistema de plugins (http://plugins.jquery.com) Buen soporte de la comunidad Gran continuidad en su desarrollo Si Google, IBM, BBC, Wordpress, Drupal, Digg, Meneame o Irontec ;) utilizan jQuery... por algo será. Funciona juntgero interpretado en navegadores web (aunque no exclusivamente) Javascript es una implementación de ECMAScript (lenguaje de scripting basado en prototipos) El script se descarga directamente al navegador, y es ejecutado siempre en el lo con otras librerías de abstracción
  • 7. Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3 Introducción a jQuery ¿Por dónde empezar con jQuery? Creando un documento XHTML e insertando jQuery en el mismo: <!DOCTYPE … <html lang="en"> <head> <script src="jquery-1.3.2.min.js" type="text/javascript"></script> </head> <body> </body> </html>
  • 8. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery Core de jQuery $() Esta función es el núcleo de jQuery. En realidad es un alias para la función jQuery(). Encapsula 1 ó más objetos DOM y permite interactuar con ellos de varias maneras. Mediante “selectores” o “expresiones” dentro de un contexto o no, parseará el objeto DOM y lo introducirá en un objeto jQuery. Automáticamente interactúa sobre los N objetos DOM que sean resueltos mediante el selector escogido.
  • 9. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery $(expresión, [contexto]) Esta es la manera de crear un objeto jQuery a partir de una expresión. La expresión se crea a partir de selectores y filtros dentro o no de un contexto. $('elemento del DOM') => devuelve array de elementos seleccionados.
  • 10. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery $(html) Esta es la manera de crear un objeto jQuery a partir de un elemento. $('<p>hola</p>') => crea un objeto a partir del html que hemos insertado. Después podremos manipularlo a nuestro antojo.
  • 11. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (selectores) Selectores Selectores Básicos $('*') Convierte todos los elementos del DOM en un objeto jQuery. $('name') Busca los elementos con el nombre del tag. $('input') => devuelve un array con todos los input que se encuentren el en DOM. $('#id') Busca un elemento que tenga el atributo id. $('#box_principal') => devuelve un array con un único elemento con el atributo id igual a “box_principal”.
  • 12. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (selectores) $('.class') Busca uno o varios elementos que contengan la clase. $('.red') => devuelve un array con todos los elementos del DOM que contengan la clase “.red”. $('.class.class') Busca uno o varios elementos que contengan las clases. $('.red.selected') => devuelve un array con los elementos del DOM que contengan las dos clases. $('selector1, selector2, selectorN') Devuelve un resultado combinado con con los selectores. $('.red, .green, .blue, a') => devuelve un array con todos los objetos del DOM que contengan las tres clases de colores más con todos los elementos tipo a del DOM.
  • 13. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (selectores) Selectores Jerárquicos Descendiente $('#page a') => todos los elementos tipo a dentro del “elemento” con el tag id igual a “page”. Parent > child $('#page > a') => todos los elementos tipo a dentro del “elemento” con el tag id igual a “page” en un primer nivel, es decir HIJOS de #page. Previous + next $('label + input') => todos los elementos label seguidos de un input. Previous ~ siblings $('h2 ~ p') => todos los elementos tipo p después del h2 del DOM.
  • 14. Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3 Introducción a jQuery (selectores) Filtros Filtros Básicos :first | :last , primer | último $('p:last') => devuelve el último p del documento. :not(selector) $('p:not(.text)') => devuelve todos los elementos tipo p que no contienen la clase “.text”. :eq(índice) | :gt(índice) | :lt(índice) $('p:eq(2)') => el tercer el elemento del array de “p”s del objeto. $('p:gt(3)') => todos los p cuyo índice es mayor que 3. $('p:lt(3)') => todos los p cuyo índice es menor que 3.
  • 15. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (selectores) :even | :odd $('p:even') => p pares. $('p:odd') => p impares. :header $(':header') => elementos del DOM tipo header (h1,h2,h3,...). :animated $('div:animated') => elemento animado del DOM.
  • 16. Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3 Introducción a jQuery (selectores) Filtros de Contenido :contains $(“p.text:contains('foo')”) => todos los p con la clase .text que contengan en el texto la palabra “foo”. :empty $('p:empty') => todos los elementos p que no tengan contenido en su interior. :has(selector) $('p:has(a)') => todos los p que contengan en el interior elementos tipo a. Filtros de Visibilidad :visible | :hidden $('div:hidden') => todos los div ocultos.
  • 17. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (selectores) Filtros mediante Atributos [attr] $('div[class]') => devuelve todos los div que tienen clase. [attr (=)(!=)(^=)($=)(*=) value] = Igual != Diferente ^= Empieza $= Acaba *= Contiene <a href=”ejemplo_atributos.html” title=”un ejemplo de selectores con atributos” >ejemplo</a> $('a[href$=html][title*=ejemplo]') => devuelve los a que en el atributo href acabe por html y en el atributo title contenga ejemplo. En jQuery 1.3 “[@attr]” desaparece.
  • 18. Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3 Introducción a jQuery (selectores) Filtros de Formularios :input $(':input',$('#formulario)) => todos los elementos tipo input, textarea, select y button en el contexto elemento con id “formulario”. Por tipo :hidden | :text | :password | :checkbox | :radio | :image | :file | :button | :submit | :reset $('input:submit , input:button') => devuelve un array con los elementos tipo input cuyo “tipo” se submit o button Por estado :enabled | :disabled | :checked | :selected $('checkbox:checked') => todos los checkbox que estan checkeados.
  • 19. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Atributos) Atributos Obtener y asignar valores mediante atributos attr(name) attr(key, value) <input type=”text” name=”nombre” class=”current” value=”foo” /> alert($('input').attr('name')); => mostrará el valor del atributo nombre del input. $('input').attr('name','apellido'); => seteará el atributo name a “apellido”
  • 20. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Atributos) Obtener y asignar Clases hasClass(class) addClass(class) / removeClass(class) toggleClass(class, switch) <input type=”text” name=”nombre” class=”current” value=”foo” /> $('input').hasClass('current'); => devolverá true si input contiene la clase current. $('input').removeClass('current').addClass('notCurrent'); => borrará la clase “current” y añadira la clase “notCurrent”.
  • 21. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Atributos) Obtener y asignar html html() / html(html) <p>Tengo una bici <strong>roja</strong></p> $('p').html() => devolverá un string con “Tengo una bici <strong>roja</strong>” $('p strong:eq(0)').html('<em>azul</em>'); => insertará en la primera etiqueta strong dentro de p “<em>azul</em>” . Obtener y asignar texto textl() / text(text) <p>Tengo una bici <strong>roja</strong></p> $('p').text() => devolverá un string con “Tengo una bici roja” $('p strong:eq(0)').text('<em>azul</em>'); => insertará en la primera etiqueta strong dentro de p “&lt;em&gt;azul&lt;/em&gt;” .
  • 22. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Atributos) Obtener y asignar valores val() / val(valor) <input type=”text” name=”nombre” value=”foo”> $('input').val(“SUPER”+$('input').val()); <input type=”text” name=”nombre” value=”SUPERfoo”>
  • 23. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Manipulación) Manipulación del DOM Insertar dentro del selector $(selector).append(contenido) [al final] $(contenido).appendTo(selector) [al final] $(selector).prepend(contenido) [al principio] $(contenido).prependTo(selector) [al principio] <p>Hola </p> $('<strong>qué tal</strong>').appendTo('p'); $('p').append('?').prepend('¿'); Resultado: <p>¿Hola <strong>qué tal</strong>?</p>
  • 24. Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3 Introducción a jQuery (Manipulación) Insertar fuera del selector after(contenido) [después] before(contenido) [antes] insertAfter(selector) [insertar después] insertBefore(selector) [insertar antes] <p><a href=”” >aquí</a><p> $('a').before('<em>Pincha </em>'); <p><em>Pincha </em><a href=”” >aquí</a><p>
  • 25. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Manipulación) Insertar alrededor del selector wrap(html|elemento) / wrapAll(html|elemento) wrapInner(html|elemento) <p class=”ejemplo”></p> <a>texto</a> <a>texto2</a> $('a').wrap('<div></div>'); Resultado: <div><a>texto</a></div> <div><a>texto2</a></div> $('a').wrapAll($('.ejemplo')); Resultado: <p class=”ejemplo”><a>texto</a> <a>texto2</a></p> $('a').wrapInner('<em></em>'); Resultado: <a><em>texto</em></a>
  • 26. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Manipulación) Sustituir (replacear) contenido selector.replaceWith(contenido) contenido.replaceAll(selector) <a>texto<a> $('a').replaceWith('<em>'+$('a').text()+' sustituido</em>'); <em>texto sustituido</em> Borrar contenido empty(): borra, vacía el contenido dentro del selector. remove(): borra todo del DOM Copiar contenido clone(): copia el contenido.
  • 27. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Manipulación, CSS) ● Manipulación del DOM, CSS – CSS ● css(nombre) $('p').css('color') => devuelve el valor del atributo de css color ● css(nombre, valor) $('p').css('color','#000') => aplica el estilo a p $('p').css({'color':'#000','font-size','.85em', … }) => aplica el estilo a p
  • 28. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Manipulación, CSS) – Posicionamiento ● offset( ) – Devuelve la posición relativa al documento del elemento en píxeles. [top,left] ● position( ) – Devuelve la posición relativa al padre del elemento en píxeles. [top,left] ● scrollTop( ) / scrollLeft( ) – Devuelve el offset del primer elemento encontrado. – Height / Width ● width() / height( ) ● innerwidth() / innerheight( ) ● outerwidth() / outerheight( ) Devuelven o setean valores de anchura o altura.
  • 29. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Métodos Trasversales) Métodos Trasversales Métodos que se aplican a un selector que devuelven elementos del DOM a partir de un selector. Filtros <input type=”text” class=”a” /> <input type=”text” class=”b” /> <input type=”text” class=”b” /> <input type=”text” class=”a” /> eq(índice) $('input').eq(0) => devuelve el primer input filter(función) / filter(expresión) $('input').filter('.b') => devuelve de los input los que contengan la clase “b” is(expresión) $('.a').is('input') => devuelve true en caso de que el elemento sea de tipo input
  • 30. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Métodos Trasversales) not(expresión) $('input').not('.a') => devuelve los input que no contengan la clase “a” Buscadores <div><p>buscadores</p></div> add(expresión) $('div').add('p') => añade al selector principal los elementos del DOM tipo p children(expresión) $('div').children('p') => devuelve todos los hijos tipo p de div find(expresión) $('div').find('p') => devuelve todos los elementos de tipo p que hay dentro de div, hijos y nietos. contents() $("iframe").contents().find("body").append('<p>hola</p>') => entra en el iframe busca el body y inserta al final del mismo “hola”
  • 31. Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3 Introducción a jQuery (Métodos Trasversales) next(expresión) / nextAll(expresión) devuelve el siguiente / los siguiente/s elemento/s según la expresión. prev(expresión) / prevAll( expr ) devuelve el anterior / los anteriores elemento/s según la expresión. parent(expresión) / parents(expresión) devuelve el/los nodos padres del elemento según la expresión. andSelf() <div><p></p><p></p><div> $('div').children('p').andSelf() => todos p dentro del div y el mismo div
  • 32. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Eventos) Eventos Carga de la Página ready(función) $(document).ready(function(){ alert(“el documento está cargado”); }); Captura de eventos bind( type, data, fn) Bindea un evento a un objeto jQuery como click, dblclick, mouseover, ... $('a.click').bind('click',function(){ alert('click'); }); unbind( type, fn ) Desbindea el evento del objeto. $('a.click')bind('mouseover',function(){$ (this).addClass('over');}).bind('click',function() {alert('click');}).unbind('click'); => solamente quedará bindeado el evento mouseover
  • 33. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Eventos) one( type, data, fn ) bindea el evento solo una vez y después se desbindea. trigger( event, data ) Lanza el evento sobre un objeto. $('a').trigger('click'); => lanza el evento click sobre el elemento a. triggerHandler( event, data ) Lanza el evento sobre un objeto y saca el “foco”. live( type, fn ) Bindea el evento para los elementos actuales y futuros. die( type, fn ) Es el unbind del live()
  • 34. Introducción a jQuery y nuevas funcionalidades de jQuery 1. 3 Introducción a jQuery (Eventos) Helpers hover( over, out ) toggle( fn, fn2, fn3,fn4,... ) blur( ) change( ) click( ) dblclick( ) error( ) focus( ) keydown( ) keypress( ) keyup( ) load( fn ) mousedown( fn )
  • 35. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Eventos) mouseenter( fn ) mouseleave( fn ) mousemove( fn ) mouseout( fn ) mouseover( fn ) mouseup( fn ) resize( fn ) scroll( fn ) select( ) submit( ) unload( fn )
  • 36. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Utilidades) ● Utilidades de jQuery – Navegador y detección de opciones ● $.browser: datos sobre el navegador ● $.browser.version: versión del navegador – $.support valores booleanos sobre las opciones que acepta el navegador. ● $.support.boxModel – cssFloat – hrefNormalized – htmlSerialize – leadingWhitespace – noCloneEvent – objectAll – opacity – scriptEval – style – tbody
  • 37. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Utilidades) – Arrays y operaciones ● $.each(objeto, función) – Iterador que sobre el objeto. ● $.extend() – Extiende un objeto con otro devolviendo un objeto. ● $.grep(array,función) $.grep( [0,1,2], function(n,i){ return n > 0; }); => devuelve [1,2] ● $.makeArray(obejto) – Crea un array a partir de un objeto. ● $.map(array,función) – Pasa los valores de un array a otro mapeado los valores del primer array. ● $.inArray(valor,array) – Devuelve el índice del valor a buscar en el array, -1 si no está.
  • 38. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Utilidades) ● $.merge(array,array2) – Mergea dos arrays. ● $.unique(array) – Saca los valores duplicados de un array ● $.isArray(objeto) – Devuelve true cuando es objeto es un array. False cuando no. ● $.isFuction(objeto) – True cuando es una función. ● $.trim(string) – Borra los espacios en blanco del principio y del final de un array. ● $.param(objeto) – Serializa en forma de url un objeto.
  • 39. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Ajax) ● Ajax ¿Qué es ajax? – Asynchronous Javascript and XML. – Peticiones asíncronas de datos al servidor, realizadas desde Javascript. – No siempre se devuelve XML; casi siempre se trata de HTML o JSON (AHAH) – Nos permite construir sitios web interactivos sin necesidad de recargar el documento descargado. – Es posible gracias al objeto XMLHttpRequest. ● X-Requested-With = XMLHttpRequest – Como siempre, implementación aleatoria en cada navegador – Con jQuery nos da igual :)
  • 40. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Ajax) – Peticiones Ajax ● $.ajax( options ) – Carga un contenido remoto utilizando HTTP request. ● load( url, data, callback ) – Carga HTML de un fichero remoto i lo inserta en el DOM. ● $.get( url, data, callback, type ) – Carga una página remota utilizando HTTP GET request. ● $.getJSON( url, data, callback ) – Carga datos de tipo JSON utilizando HTTP GET. ● $.getScript( url, callback ) – Carga y ejecuta javascript utillizando HTTP GET request. ● $.post( url, data, callback, type ) – Carga una página remota utilizando HTTP POST.
  • 41. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Ajax) – Eventos de Ajax ● La función ajax tiene diferentes eventos: – ajaxComplete(callback) – ajaxError(callback) – ajaxSend(callback) – ajaxStart(callback) – ajaxStop(callback) – ajaxSuccess(callback) – Ajax Misc – $.ajaxSetup();
  • 42. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (Ajax) – Petición ajax $.ajaxSetup({ url: "ajax.php", type: "POST", DataType: “JSON” }); $.ajax({ data: ({name: “ajax”}) , success: function(){ alert(“success”) } });
  • 43. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (efectos) ● Efectos Efectos sobre el elemento mediante un efecto sencillo de mostrar y ocultar los elementos. ● show() / hide() $('#hiddenBox').show('fast',function(){alert(“show”);}); ● ● ● toggle() Cuando el elemento está en “hide” mediante el efecto show lo muestra, y al revés.
  • 44. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (efectos) Efectos tipo cortina. ● slideDown() / slideUp() ●$('#hiddenBox').slideDown('fast',function() {alert(“show”);}); ● ● slideToggle() Cuando el elemento está en “hide” mediante el efecto show lo muestra, y al revés.
  • 45. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (efectos) Efectos tipo opacidad. ● fadeIn() / fadeOut() $('#hiddenBox').fadeIn('fast',function(){alert(“show”);}); ● ● ● fadeTo(speed,opacity,callback) Cuando el elemento está en “hide” mediante el efecto show lo muestra, y al revés.
  • 46. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Introducción a jQuery (efectos) Efectos custom ● animate() / stop() $('div').animate({"opacity": "0.5"}, 1000); => el div irá a una opacidad de 0.5 en un segundo. El stop() para la propagación del efecto, pudiendo dejar el elemento como esta o devolverlo a un estado inicial.
  • 47. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Debug ● Debug simple – Siempre ha sido complicado debuggear javascript (con algunos navegadores más que con otros). En general, en los últimos años, Firefox (gecko), es el rey en el desarrollo del lado del cliente: – Firebug: ● Inspeccionar DOM / Debug JS (Watch / Breakpoints / etc...) / Profiling / Objeto console (console.debug) – Livehttpheaders ● Permite observar exactamente las cabeceras HTTP tanto de petición como de respuesta. – WebDeveloper ● Completa barra de Herramientas que se complementa perfectamente con las otras 2 herramientas.
  • 48. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Enlaces ● http://www.jquery.com ● http://plugins.jquery.com ● http://ui.jquery.com/ ● http://code.google.com/p/minify/ – Reduce el tamaño de tus .js y .css (y aumenta la velocidad de carga). ● http://dean.edwards.name/packer/ – Optimiza (y ofusca) tus .js ● http://www.getfirebug.com ● http://chrispederick.com/work/web-developer/ ● http://livehttpheaders.mozdev.org/
  • 49. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Licencia Copyleft Lander Ontoria Gardeazabal <lander@irontec.com> Copyright
  • 50. Introducción a jQuery y nuevas funcionalidades de jQuery 1.3 Licencia Copyleft ● Este documento está protegido bajo la licencia Reconocimiento-SinObraDerivada 2.1 España de Creative Common (http://creativecommons.org/licenses/by-nc- sa/3.0/es/) Copyright © 2008 Irontec <contacto@irontec.com> Se permite la copia, modificación, distribución, uso comercial y realización de la obra, siempre y cuando se reconozca la autoría de la misma, a no sea ser que se obtenga permiso expreso del autor. El autor no permite distribuir obras derivadas a esta. Esta nota no es la licencia completa de la obra, sino una traducción de la nota orientativa de la licencia original completa (jurídicamente válida).