Mantener los selectores simples

Hasta hace poco, recuperar elementos DOM con jQuery era una combinación finamente coreografiada de cadenas de selector de análisis, bucles de JavaScript y API incorporadas como getElementById (), getElementsByTagName () y getElementsByClassName (). Pero ahora, todos los principales navegadores son compatibles con querySelectorAll (), que comprende los selectores de consultas CSS y aporta una importante ganancia de rendimiento.

Sin embargo, aún debe intentar optimizar la forma en que recupera los elementos. Sin mencionar que muchos usuarios todavía usan navegadores antiguos que obligan a jQuery a atravesar el árbol DOM, que es lento.

$('li[data-selected="true"] a')   // Fancy, but slow
$('li.selected a') // Better
$('#elem') // Best

Acceder al DOM siempre será la parte más lenta de cada aplicación de JavaScript, por lo que minimizarla es beneficioso. Una de las maneras de hacer esto, es almacenar en caché los resultados que jQuery le proporciona. La variable que elija tendrá un objeto jQuery, al que podrá acceder más adelante en su script.

var buttons = $('#navigation a.button');

// Some prefer prefixing their jQuery variables with $:
var $buttons = $('#navigation a.button');
('a.button:animated');   // Does not use querySelectorAll()
$('a.button').filter(':animated'); // Uses it

Deshabilitar el click derecho

Ya sea porque el cliente te lo solicite o tienes la necesidad de implementarlo, con JavaScript puedes deshabilitar facilmente el click derecho del mouse en una web. En esta pequeña entrada te enseño a hacerlo, simplemente tendrás que añadir la siguiente línea de código en al final de tu código html, antes del cierre de la etiqueta «body» de tu web, dentro de una etiqueta «script» como puedes ver a continuación.

<script type='text/javascript'>


document.oncontextmenu = function(){return false}
</script>

   También puedes hacerlo de otra manera si tienes implementada la librería de Jquery en tu web, con el siguiente código:

<script type='text/javascript'>
$(function(){
$(document).bind("contextmenu",function(e){
return false;
});
});
</script>