2014-11-06 124 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