2010-08-30 12 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

相关问题