2009-10-01 95 views
0

我在我的页面中有一个IFrame,并且在此iframe上使用designMode =“on”进行小型富文本编辑。限制在IFrame中输入按键事件,不起作用

我担心的是我不需要允许用户在其中输入新行 - 意思是说,我想限制输入密钥。我使用了question posted here来听按键事件。但在我的按键事件中,如果我返回错误,则什么都不会发生。

如何使用designmode限制Iframe中的输入键?

代码:

 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; 
      } 

回答

2

你需要调用preventDefault的事件或设置returnValuefalse的IE浏览器。以下功能将完成这项工作:

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

非常感谢..这节省了很多时间! – 2009-10-01 10:11:54