下面給大家介紹兩種方法解決jQuery Dialog 打開時自動聚焦問題。具體實現方法大家可以參考下本文。
方法一:
p1_dialog_seniorSearch.dialog({ title:"高級查詢", autoOpen:false,//默認關閉 modal: true,//開啟遮罩層 width:570, height:330, buttons: { "查詢":function(){ seniorSearch(1,20) } , "關閉": function() { p1_dialog_seniorSearch.dialog( "close" ); } }, open:function(event, ui){ $(this).parent().focus(); }//取消獲取焦點 });
方法二:
在要焦點的的控件加上 autofocus
如:第一個控件為 datepicker,默認dialog打開會自動彈出日歷
解決:在該dialog加個隱藏input,
<input type="hidden" autofocus/>
未加 autofocus,dialog不會聚焦影藏的input的。
PS: jquery dialog打開的時候,自動聚焦在第一個控件上
在做項目的時候,用到jQuery dialog,在dialog(“open”)一個頁面的時候,焦點會自動聚焦到第一個控件上,剛好這個控件綁定了datepicker,就把日歷自動彈出來了,糾結半天無果,google了一下,有人也遇到同樣的問題。先給出解決方案
<input autofocus> 在標簽上加一個autofocus屬性就能給指定的控件獲取焦點。比如第一個是日期控件,那麼把這個屬性加到其他標簽上去,第一個日歷控件就不會聚焦,也就不會彈出來了。話說回來,這個方法有點類似於障眼法。
附上解決問題的網址:
http://stackoverflow.com/questions/1202079/prevent-jquery-ui-dialog-from-setting-focus-to-first-textbox
http://jqueryui.com/upgrade-guide/1.10/#added-ability-to-specify-which-element-to-focus-on-open
以上所述是小編給大家介紹的jQuery Dialog 打開時自動聚焦的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!