Ho una finestra di dialogo dell'interfaccia utente jQuery contenente un modulo a campo unico e la proprietà autoOpen è impostata su false all'inizio. C'è un altro menu dell'interfaccia utente di jQuery nella pagina e la funzione di apertura della finestra di dialogo è vincolante per l'evento click delle voci di menu. Ho cercato di mettere a fuoco l'unico campo modulo della finestra di dialogo quando la finestra di dialogo è aperta al clic delle voci del menu in qualche modo senza fortuna. Per individuare la causa ho anche aggiunto un altro pulsante di test e facendo clic su quel pulsante posso impostare lo stato attivo sul campo modulo. Quindi sono abbastanza sicuro che sia il menu dell'interfaccia utente jQuery che impedisce il focus del campo. Mi chiedo se c'è un modo per aggirare questo vincolo. Qualsiasi intuizione è apprezzata. Grazie!Impossibile impostare lo stato attivo su un campo modulo in una finestra di dialogo dell'interfaccia utente jQuery facendo clic su una voce di menu jQueryUI
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:
$("#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');
}
});
Ecco la js fiddle
Ciao @Trevor, ho provato il vostro violino fuori un po 'e sembra che ogni volta che la pagina viene caricata, il primo clic sulle voci di menu non impostare la messa a fuoco e tutti i clic in seguito funzionano perfettamente. È decisamente più vicino a quello che voglio. Apprezzo il tuo aiuto. – aarryy
Ciao @Trevor, ho testato la tua soluzione con la mia soluzione reale e sorprendentemente ha funzionato. Non riesco a vedere la logica dietro a ciò. Probabilmente è perché la soluzione reale non sta usando la stessa identica versione dell'interfaccia utente jquery e jquery. Comunque grazie per tutto l'aiuto. – aarryy
Il tuo benvenuto, è strano per me, funziona per la prima volta. Vai a capire. – Trevor