2013-12-12 34 views
1

我已經使用CKEDITOR.appendTo("my_div" , null , my_string)來創建ckeditor的實例...沒問題。如何確保ckeditor在jquery-ui對話框小部件內部顯示時具有焦點

但是,LINK按鈕打開一個非交互式的LINK對話框。

那麼,是否有一些配置設置,它應該手動設置爲true,也許?


編輯1 ...我會解釋我的意思通過非交互式鏈接對話框 ...

當我點擊的CKEditor的LINK按鈕(看起來像一個鏈接),它會打開一個LINK對話框,其中有一個輸入字段可供我輸入一個URL,另外還有一個下拉選擇協議,以及一些其他表單元素。

但是,這些都不能使用......如果我嘗試輸入url輸入字段,則什麼都不會發生(字段不會接受焦點);同樣,如果我點擊它們,下拉菜單也不會打開。


EDIT 2 ...添加截圖 ckeditor LINK dialog

+1

「非交互「可以擴展這種模糊的描述?截圖和你的配置也會有所幫助。 – oleq

+0

請看我編輯的問題......謝謝。 – dsdsdsdsd

+0

請參閱我的EDIT-2 ...我添加了屏幕截圖 – dsdsdsdsd

回答

0

我所用:

  • jQuery的1.8.2

  • 的jQuery-UI-1.10.3

  • 的CKEditor 4.3.1

然後我代替:jQuery的UI-1.10.3有:jquery-ui-1.9.0,似乎按預期方式工作。


如果恢復到jQuery的UI 1.9是對你不好,也要看:

  • jquery-ui forum ...... 「不能編輯在jQuery UI的模態對話框CKEditor的領域」

  • jquery-ui bugs ... 「對話框:CKEditor的在模態對話框是不可編輯的」

1

補充一點:

$(document).on('focusin', function(e) {e.stopImmediatePropagation();}); 
2

當模式選項設置爲true對話框,對話框塊用的是外部因素的任何干預。 (https://github.com/jquery/jquery-ui/blob/master/ui/dialog.js#L818

您可以覆蓋此設置以允許與ckeditor中的元素進行交互。

只是包括jQuery UI的後這個地方,它應該工作:

orig_allowInteraction = $.ui.dialog.prototype._allowInteraction; 
$.ui.dialog.prototype._allowInteraction = function(event) { 
    if ($(event.target).closest('.cke_dialog').length) { 
    return true; 
    } 
    return orig_allowInteraction.apply(this, arguments); 
}; 

如果要允許與對話以外的任何元素的互動,包括這個:

$.ui.dialog.prototype._allowInteraction = function(event) { 
    return true; 
}; 
+0

工作就像一個魅力。感謝名單! – SpYk3HH

+0

謝謝!這是我需要的答案。 – FreeAsInBeer

相關問題