2010-08-30 29 views
1

我正在使用jQuery UI對話框向我的網站添加一些新聞。每次點擊add news按鈕時,對話框應該以文本區域打開。實際上,我使用ckeditor代替textarea,並且由於focus問題(至少我認爲這是問題),我碰巧無法在文本編輯器中鍵入內容。爲什麼我的jQuery UI對話框在完成打開效果時會失去焦點?

檢查出來。正如我單擊add news按鈕,對話框將以其效果打開。請注意黃色邊框textarea,這意味着在出現時它會專注(使用Chrome)。 alt text Click to zoom

通知,然後,當對話結束出現,它不再被關注,我有因爲這個

alt text Click to zoom

而且麻煩,檢查我的代碼http://jsfiddle.net/pzHr2/

回答

4

這不是一個很好的記錄(巨大的輕描淡寫)功能,你可以通過一個對象,就像你可以到.show() UI method像這樣在你的選擇:

show:{ effect: 'slide', complete: function() { $("textarea").first().focus(); }}, 

這將運行.focus()的動畫完成時,you can give it a try here。如果你很好奇爲什麼這個工程,you can take a look here

注:這個答案是jQuery用戶界面1.8.4+(因爲你正在使用.button()),它不會爲1.7.x用戶的工作。

+0

謝謝尼克,不錯的提示! 正在努力解決類似的問題(一旦對話框打開並顯示效果,將焦點放在第一個輸入上)。我對你的代碼做了一些小改動,以適合我的情況: 'show:{effect:'blind',complete:function(){$(this).find(「input:first」)。 }}' – Boycs 2010-08-31 01:36:55

+0

我遇到了同樣的問題,在窗體中將我的日誌加載到MVC中的模式對話框中。這裏提出的解決方案在Chrome和FF中工作正常,但在IE9中很方便。有任何想法嗎? – 2012-11-23 21:57:30

相關問題