2010-12-05 5 views
0
problème

avec keypress (en jquery) avec IEavec keypress (en jquery) avec IE

$(document).keypress(function(key) { 
    if (key.which == 99 && key.metaKey == true) { 
     alert("Don't Copy"); 
     return false; 
    } 
}); 

Il ne fonctionne pas!

Comment puis-je résoudre ce problème?

+0

êtes-vous en train d'alerter quelque chose, vous n'avez écrit aucun code pour vérifier les clés? – XMen

+0

Ce n'est pas mon code complet :) – faressoft

+2

Le code que vous avez ici empêche la touche de se produire ('return false;') ... c'est ce que vous demandez? –

Répondre

2

pourquoi appuyer sur une touche?

$('*').bind('copy',function(key) { 
    alert("Don't Copy"); 
    return false; 
}); 
+0

Wow. Je n'avais aucune idée qu'il existe un événement spécifique 'copy' (bien que cela ne fonctionne pas dans Opera). Beaucoup mieux que 6-10 lignes de CSS/JavaScript. +1 – PleaseStand

+0

événement de copie! C'est étonnant. mais cela ne fonctionne pas sur Opera – faressoft

+0

La liaison à $ ('*') est une mauvaise idée, vous allez ajouter un gestionnaire d'événement à chaque élément. Si l'événement 'copier' se produit, il suffit de lier 'corps'. – sereda

3

Je pense que vous voulez vérifier l'état de ctrlKey pour bloquer Ctrl + C:

$(document).keydown(function(key) { 
    if (key.which == 67 && key.ctrlKey) { 
     alert("Don't Copy");  
     return false;   
    }       
}); 

Il fonctionne sur tous les principaux navigateurs (FF4b7, IE 8), mais pas tout à fait raison Chrome 8: bien que l'alerte apparaisse, le comportement de copie dans le presse-papiers n'est pas supprimé. Cela dit, si vous voulez empêcher l'utilisateur de copier vos textes dans le presse-papiers, je vais devoir vous décevoir: quelqu'un peut simplement utiliser l'option de menu (contexte) ou afficher la source de votre page. Il n'y a rien que vous puissiez faire à ce sujet.

+0

Désolé je veux dire (Ctrl + C) – faressoft

+0

Cela ne fonctionne pas dans IE – faressoft