2013-05-13 60 views
3

我想將我的網站移動到tinyMCE 4,但由於版本4仍處於測試階段並且文檔http://www.tinymce.com/很漂亮此時稀疏。我已經能夠解決我的大部分問題,但是這個問題讓我不知所措,我甚至不知道如何確定問題出在哪裏。tinyMCE 4彈出式工具在Colorbox中失去焦點Lightbox

我在http://ymsrunning.com/mce.php設立了測試網站。您會注意到使用主頁上的任何工具欄按鈕都可以正常工作。您可以輸入輸入框,並以焦點開始。

問題是當你點擊鏈接調出一個Colorbox時,那些相同的工具不起作用。即使彈出窗口出現,輸入也沒有焦點,您無法點擊它們輸入任何內容。

tinyMCE創建自己的輸入框來匹配主題,但我無法弄清楚他們對焦點做了什麼。任何關於如何進行或更好地解決問題的想法都將不勝感激。

+0

等待tinymce4退出測試版 - 節省一些頭痛 – Thariama 2013-05-14 08:15:50

+0

公平的建議。我相信這不是他們會忽略的,因爲Colorbox是一個非常受歡迎的燈箱,但是如果可以的話,我想自己解決它(或者在這裏的某個人的幫助下)。 – 2013-05-14 15:55:27

回答

4

原來這不是tinyMCE的問題,這是Colorbox的問題。 Colorbox可防止對其容器外的任何事物進行聚焦,並且tinyMCE會在Colorbox容器外創建其元素。 Colorbox代碼中有一個名爲「trapFocus」的函數,可以創建此行爲。代碼如下。

function trapFocus(e) { 
if ('contains' in $box[0] && !$box[0].contains(e.target)) { 
     e.stopPropagation(); 
     $box.focus(); 
    } 
} 

談到了在函數內部的內容,而不是函數本身可以讓元件保持和接受焦點,並防止彩盒從與它搞亂。我希望這可以幫助任何遇到此問題的人。

+0

哦,男孩!天才!!這可能爲我節省了幾天的頭痛!感謝你的這個偉大的發現!我會給colorbox的開發者一個提示:-) – 2013-06-12 13:29:38

+0

實際上,通過刪除整個功能,我得到了一些奇怪的點擊,導致瀏覽器在打開colorbox時向下滾動。但是,它僅在刪除「$ box.focus();」時才起作用(當前)來自colorbox的trapFocus功能。 – 2013-06-12 18:20:09

+0

這就是爲什麼我說刪除函數的「內容」,但它似乎刪除「$ box.focus();」線也起作用。 – 2013-06-12 21:52:50