tıklatıldığında jQuery UI iletişim kutusundaki bir form alanına odağı ayarlanamıyor, tek alan formu içeren bir jQuery UI iletişim kutusu var ve autoOpen özelliği başlangıçta false değerine ayarlı. Sayfada başka bir jQuery UI menüsü var ve diyaloğun açık işlevi menü öğelerinin tıklama etkinliğine bağlanıyor. Diyalog açık bir şekilde menü öğelerinin tıklanmasıyla açıldığında diyalogun tek form alanına odaklanmaya çalışıyorum. Nedeni saptamak için başka bir test butonu ekledim ve bu tuşa tıklayarak odağı form alanına ayarlayabilirim. Bu yüzden alanın odağını önleyen jQuery UI menüsü olduğundan eminim. Bu kısıtlamayı aşabileceğim herhangi bir yol var mı diye merak ediyorum. Herhangi bir fikir takdir edilir. Teşekkürler!Bir jQueryUI menü öğesi
html:
<ul id="menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
</ul>
</br>
<button id="btn">Open the dialog</button>
<div id="dialog" title="Basic dialog">
<form>
<input type="text" id="fld" />
</form>
</div>
javascript:
İşte$("#dialog").dialog({
autoOpen: false,
open: function(event, ui){
$('#fld').focus();
}
});
$('#btn').click(function(e){
$("#dialog").dialog('open');
});
$('#menu li a').click(function(){
$("#dialog").dialog('open');
})
$("#menu").menu({
select: function(event, ui) {
$("#dialog").dialog('open');
}
});
İlginç js fiddle
Merhaba @Trevor, ben biraz senin keman test etti ve bu sayfa yüklendiğinde her zaman, odaklamayı ayarlamak değil menü öğeleri ilk tıklama ve tüm tıklamalar sonradan kusursuzca çalışır görünüyor. İstediğime kesinlikle daha yakın. Yardımınıza minnettar olurum. – aarryy
Merhaba @Trevor, çözümünüzü gerçek bir çözümle test ettim ve şaşırtıcı bir şekilde işe yaradı. Bunun arkasındaki mantığı göremiyorum. Muhtemelen gerçek çözümün, jquery ve jquery UI'nin tam olarak aynı versiyonunu kullanmamasıdır. Her neyse yardım için teşekkürler. – aarryy
Hoşgeldin, bu benim kemanın garibi, ilk defa benim için çalışıyor. Git rakamı. – Trevor