Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/08/2009, 06:02
fremeto
 
Fecha de Ingreso: marzo-2007
Mensajes: 69
Antigüedad: 17 años, 2 meses
Puntos: 0
Eventos en jquery (bind)

Hola a todos:

Estoy utilizando la libreria Jquery para realizar mis aplicaciones web, estoy tratando de implementar medidas de seguridad en los campos de claves y usuarios, como por ejemplo evitar no sólo restringiendo la escritura de caracteres especiales, sino también evitar que en estos campos se puedan copiar, cortar, pegar, arrastrar, soltar caracteres de otro lado, esto lo he logrado combinando el plugin Alphanumeric (http://itgroup.com.ph/alphanumeric/) con unos eventos que he encontrado del bind de jquery que son:

$('elemento').bind('paste', function(){return false;});
$('elemento').bind('copy', function(){return false;});
$('elemento').bind('cut', function(){return false;});
$('elemento').bind('drop', function(){return false;});
$('elemento').bind('drag', function(){return false;});

Esta sentencias se las agrego al plugin y funciona perfectamente, pero la verdad noto que me toco buscar en otras paginas porque en la pagina oficial de jquery no encontre estos parametros, es más el drop y el drag los probe paraver si funcionaban porque no los encontr y vaya sorpresa funcionó bien.

El punto de todo esto y ahí va mi pregunta es donde se pueden conseguir todos los eventos que acepta el "bind" de jquery?


Les anexo el código del Alphanumeric con los cambios por si les interesa:

(function($){

$.fn.alphanumeric = function(p) {

p = $.extend({
ichars: "!@#$%^&*()+=[]\\\';,/{}|\":<>?~`.-",
nchars: "",
allow: ""
}, p);

return this.each
(
function()
{

if (p.nocaps) p.nchars += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
if (p.allcaps) p.nchars += "abcdefghijklmnopqrstuvwxyz";

s = p.allow.split('');
for ( i=0;i<s.length;i++) if (p.ichars.indexOf(s[i]) != -1) s[i] = "\\" + s[i];
p.allow = s.join('|');

var reg = new RegExp(p.allow,'gi');
var ch = p.ichars + p.nchars;
ch = ch.replace(reg,'');

$(this).keypress
(
function (e)
{

if (!e.charCode) k = String.fromCharCode(e.which);
else k = String.fromCharCode(e.charCode);

if (ch.indexOf(k) != -1) e.preventDefault();
if (e.ctrlKey&&k=='v') e.preventDefault();

}

);

$(this).bind('contextmenu',function () {return false});
$(this).bind('copy',function () {return false});
$(this).bind('paste',function () {return false});
$(this).bind('drop',function () {return false});
$(this).bind('drag',function () {return false});

}
);

};

$.fn.numeric = function(p) {

var az = "abcdefghijklmnopqrstuvwxyz";
az += az.toUpperCase();

p = $.extend({
nchars: az
}, p);

return this.each (function()
{
$(this).alphanumeric(p);
}
);

};

$.fn.alpha = function(p) {

var nm = "1234567890";

p = $.extend({
nchars: nm
}, p);

return this.each (function()
{
$(this).alphanumeric(p);
}
);

};

})(jQuery);