2017-02-02 99 views
3

我認爲這樣的事情很簡單,但顯然不是。我使用的是Froala編輯器的付費版本,我喜歡它。但是,當頁面加載到編輯器中時,它需要將光標聚焦,因此我不必強制用戶手動單擊它。Froala編輯器:將光標重點放在頁面加載

這是從他們的官方文檔代碼,但它似乎並沒有工作。

# HTML 
<textarea id="task_body" autofocus="true">...</textarea> 

# JavaScript 
editor = $("#task_body").froalaEditor({}); 
editor.froalaEditor("events.focus"); 

我想要做的就是在頁面加載時將光標聚焦在Froala編輯器字段中;我甚至會對加載頁面後調用焦點事件的JS解決方案感到滿意。

+1

我已經在同一個問題上工作了2天了。仍然找不到解決方案和示例不起作用 – Ruslan

+0

嗨 - 你最終找到了解決方案嗎?我發現在API文檔中提到了「events.focus」,但不清楚這是事件觀察者還是觸發事件 - 文檔是不確定的。我還在https://github.com/froala/wysiwyg-editor/issues/58上看到了git網站上的黑客攻擊。但是,到2014年,並提到即將發佈的功能。那麼你最後做了什麼?另外@Ruslan你做了什麼? –

+1

@VanquishedWombat我已經嘗試了有問題的代碼和github中,沒有任何工作。我也試圖看看雖然HTML,看看我是否可以拿出一個黑客,使其重點,但沒有任何工作 – Ruslan

回答

1

要在Froala的init()將焦點設置,操作如下:

$('div#froala-editor') 
.on('froalaEditor.initialized', function (e, editor) { 
    editor.events.focus(true); 
}).froalaEditor({ 
    ......editor init settings... 
}) 

這使用jQuery的事件機制來捕獲froalaEditor.initialized事件,然後用戶傳入的編輯對象調用焦點。

以編程方式分配重點,Froala的init()後指任何時間,使用

$('selector').froalaEditor('events.focus', true). 

例如,這裏我用的延遲來模擬時間Froala init()和焦點調用之間傳遞:

setTimeout(function(){ 
    $('#edit').froalaEditor('events.focus', true); 
     console.clear() 
     console.log('fired focus trigger!') 
    }, 2000) 

雖然這是非常有用的知道,這是不是當前Froala API文檔不提供這個觀點的依據,似乎不是在語法是暗示

$('#selector')。froalaEditor('events.trigger','focus');

我無法上班。也許Froala應該考慮澄清文件。

感謝Stefan在Froala的支持下迅速響應我的電話尋求幫助。

相關問題