2014-11-06 49 views
0

我有一個div與contentEditable=true。它支持**word**_word_的降價格式。如何在contentEditable = true的div上正確捕獲右鍵單擊事件?

div上的blur事件中,markdown轉換爲html。
div上的focus事件中,html被轉換爲降價。

這是可以的。但是,當瀏覽器發現一個未知的單詞(紅色下劃線),並且我想通過右鍵單擊來修復它以查看建議的單詞時,div將關注焦點並且不會加下劃線。

你有想法嗎? (對不起我的英語)

+0

@jwnace我的答案解決了你的問題 – elzi 2014-11-06 21:13:41

+0

@elzi,這不是我的問題,我只是編輯它。斯文,elzi的答案能解決你的問題嗎? – jwnace 2014-11-06 21:16:57

+0

@jwnace:感謝版。 – Sven 2014-11-06 22:59:01

回答

0

使用oncontextmenu - 因爲點擊右鍵也可以通過CTRL/CMD實現+單擊等

$('#content').on('contextmenu', function (event) { 
    event.preventDefault(); 

    console.log('context menu opened'); 
}) 

編輯調整根據您的意見反饋:

$('#content').on('mousedown', function (event) { 

    if (event.which == 3) { 
     console.log('Right mouse button pressed'); 
    } 
}) 
+0

我沒有這個解決方案的上下文菜單。 – Sven 2014-11-06 23:13:32

+0

第二種解決方案?我得到一個上下文菜單罰款:http://jsbin.com/kewucujafa/1/edit?js,console,output – elzi 2014-11-06 23:14:19

+0

好吧,對不起。但左鍵點擊現在無效,我的div無法關注焦點。 – Sven 2014-11-06 23:22:02