jueves, 9 de septiembre de 2010

Evitar selección de contenido con jQuery

Una vez que usas jQuery hasta se siente raro no hacerlo, ahora presentaremos una forma fácil de evitar la selección con el mouse usando las funciones attr() y css().

Digamos que tenemos algo así dentro de nuestro código html:

hola mundo...




Si no queremos que seleccionen el texto "hola mundo" bastará con añadir lo siguiente ya se en el <head>...</head> o antes del tag </body>:






<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
//ver si ya cargó el DOM
$(document).ready(function(){
/*Código para evitar selección, recuerda que en jQuery # indica que es un id, . que es un clase, sin nada de # o . indicas que es un tag html y tambien puedes poner secuencias como en CSS, por ejemplo: #miId span .oculta*/;
$('#nosel').attr('unselectable', 'on');
$('#nosel').css('MozUserSelect', 'none');//mozilla y derivados
$('#nosel').css('KhtmlUserSelect', 'none');//el safari por ejemplo
});
</script>



2 comentarios:

  1. muy bien me ha servido.. solo una observacion recuerda que puedes encadenar tus jQuery para evitar buscar nuevamente un elemento que ya hemos buscado. lo mismo pero un poco mejor:

    $('#nosel').attr('unselectable', 'on').css({
    'KhtmlUserSelect' : 'none',
    'MozUserSelect' : 'none'
    });
    y por aca lo implemente en un mini-plugin : http://www.devtics.com.mx/wp/461-evitar-la-seleccion-de-texto-con-jquery-selectoff-plugin/

    ResponderEliminar
  2. pos a mi no me sirvio :'( $("td,span,img").attr('unselectable','on').css({'KhtmlUserSelect' : 'none', 'MozUserSelect' : 'none'})

    ResponderEliminar


Contenido

Buscar tema

Seguidores