2009-10-01 15 views
0

J'ai un IFrame dans ma page et j'utilise designMode = "on" sur cette iframe pour une édition de texte enrichi de petit niveau. Mon souci est que je n'ai pas besoin de permettre à l'utilisateur d'entrer de nouvelles lignes, c'est-à-dire que je veux restreindre les clés d'entrée.Restreindre entrer un événement keypress dans un IFrame ne fonctionne pas

Je l'ai fait en utilisant le question posted here pour écouter les événements keypress. Mais dans mon événement de pression de touche, si renvoie false, rien ne se produit. Comment puis-je restreindre les clés d'entrée dans Iframe avec mode de conception?

code:

 document.getElementById('editor').contentWindow.addEventListener('keypress',restrictEnterKey, true); 

      function restrictEnterKey(event) { 
       var key=(event.charCode)?event.charCode:((event.keyCode)?event.keyCode:((event.which)?event.which:0)); 
       if (key == 13) { 
        //alert('me'); 
        return false; 
       } 
       return true; 
      } 

Répondre

2

Vous devez appeler preventDefault sur l'événement ou un ensemble returnValue-false pour IE. La fonction suivante fera le travail:

function preventDefault(evt) { 
    if (evt.preventDefault) { 
     evt.preventDefault(); 
    } else if (typeof evt.returnValue !== "undefined") { 
     evt.returnValue = false; 
    } 
} 
+0

merci beaucoup .. cela a sauvé beaucoup de temps! –