2017-06-19 44 views
0

我将如何用我的自定义媒体替换媒体编辑器的内部触发事件,或者更改内部设计的行为?防止媒体编辑器的默认事件

在这个层次

<div> 
<textarea class='editable'></textarea> 
</div> 

我绑定一个click处理的div,做e.stopPropagation()e.preventDefault()

我也尝试在实例化中等编辑器后添加。

var editor = new MediumEditor('.editable') 
.subscribe("editableClick", function(e){ 

e.preventDefault(); 

}); 

我试过的每一种方式textarea得到专注,光标开始闪烁。

例如INTIAL单击事件增加了一类.medium-editor-element我应该深入到源代码修改此行为的DOM元素?

也许我想它有着不点击,但双击工作。

任何熟悉中型编辑器内部工作原理的人?

回答

0

经过反复试验和开发工具的帮助,我找到了自己想做的事情。 但我认为这个问题仍然是可以回答的,因为我通过修改medium-editor的来源来做到这一点。

所以,在线路2725 medium-editor.jssetupListener功能。

有附着在那里case 'externalInteraction': 2731th行3个主要事件。

mousedownclickfocus

从第2959行开始,有附加的处理程序用于这些事件。

handleBodyClickhandleBodyFocushandleBodyMousedown

mousedown对我而言非常重要,因为它是触发,并应防止在不同的情况下,接受了第一位。

最后我增加了一个dblclickhandleBodyDblClick来源然后把一些逻辑handleBodyMousedown防止在某些情况下mousedown事件的默认行为。

无论如何,从源如我可以理解没有重写方法或钩修改medium-editor内部事件。

这将是很高兴有这个功能。 或者,如果我错了,我想知道是否有更好的方法来做所有这些。