2009-10-01 88 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