Frontend Development: bookmarks

Aqui les dejo una gran lista de marcadores,  esta gejquery1nial se los recomiendo,

javascript

Anuncios

JQuery: Diferencias entre ‘return false’ y ‘e.preventDefault()’

jquery1Estimados desarrolladores, amantes de jQuery, ¿cuál es la diferencia funcional entre estos dos fragmentos de código?

$("a").click(function() {
   // Acciones
   return false;
}
$("a").click(function(e) {
   // Acciones
   e.preventDefault();
}

Debo reconocer que hasta el día de ayer usaba ambas opciones de manera indistinta para evitar la acción por defecto del evento en cuestión (en este caso evitar que al hacer click al hipervínculo el navegador vaya a la dirección especificada en el href correspondiente), pero gracias al tip de Chris puedo decir que hoy conozco la diferencia.

Al ejecutarse return false, no sólo se evita la acción por defecto del evento, si no que también evita la propagación en el DOM, lo que se conoce como “bubbling up“. En términos prácticos, para que ambos fragmentos de código sean funcionalmente iguales, quedarían así:

$("a").click(function() {
   // Acciones
   return false;
}
$("a").click(function(e) {
   // Acciones
   e.preventDefault();
   e.stopPropagation();
}

Pequeño detalle, pero muy importante para tomarlo en cuenta al momento de programar con jQuery.

Fuentes:

http://gespadas.com/return-false-preventdefault

http://css-tricks.com/return-false-and-prevent-default/

http://www.etnassoft.com/2011/04/19/jquery-el-mal-uso-de-return-false/

un demo:

http://jsfiddle.net/Gonzalo/Bq3jT/

JQuery: Detect if a scrollbar is present.

jquery1

// Used like $('#my-id').hasScrollbar();

jQuery.fn.hasScrollbar = function() {
    var scrollHeight = this.get(0).scrollHeight;

    //safari's scrollHeight includes padding
    if ($.browser.safari)
        scrollHeight -= parseInt(this.css('padding-top')) + parseInt(this.css('padding-bottom'));

    if (this.height() < scrollHeight)
        return true;
    else
        return false;
}

You’ll manually need to call this after adding or removing content from the div and it probably will only work if you call it on visible elements, but it’s better than starting from scratch.

Source

JQuery: Fundamentos de jQuery Libro

Textos originales por Rebecca Murphey

jquery1Check  Contenidos