2010-02-14 58 views
3

是否有人對你知道一個跨瀏覽器工作方式來檢測拖放插入到可編輯HTML文檔(的designMode或啓用contentEditable)。和中拖放粘貼檢測與CONTENTEDITABLE或將designMode啓用

只要用戶使用Ctrl-V快捷方式生成關鍵事件,檢測粘貼就會起作用,但如果使用瀏覽器Edit-> Paste,則不會生成事件。

+1

我建議你看看CodeMirror(http://marijn.haverbeke.nl/codemirror/),看看作者做了什麼。 – LiraNuna 2010-02-14 01:48:51

+0

它似乎可以很好地檢測粘貼,但通過拖放操作,您可以在未檢測到的情況下偷偷隱藏代碼。 – Fionn 2010-02-14 11:40:56

回答

1

有一個paste事件適用於可編輯文檔中的所有粘貼(包括通過上下文或編輯菜單),Firefox 3.0以及WebKit幾年(不確定版本號)和自5.5以來的IE。在body元素中添加paste事件處理函數可以在所有這些瀏覽器中使用。

恐怕我對拖放事件沒有任何瞭解:在我所從事的編輯工作中,我有充分的理由明確禁用拖放操作。

0

要處理drag'n'drop,您可以訂閱mouseUp事件。但在這種情況下,你必須解析已經粘貼的HTML。