2017-06-19 42 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內部事件。

這將是很高興有這個功能。 或者,如果我錯了,我想知道是否有更好的方法來做所有這些。