Domanda

Sto cercando di usare la finestra di jQuery Mobile. Sul documetnation, si dice che diaglog sarebbe stato chiuso se un utente fa clic qualsiasi link su una pagina di dialogo.

Documentazione:

"Quando un link viene cliccato all'interno di in una finestra di dialogo, il quadro si chiuderà automaticamente la finestra di dialogo e la transizione alla pagina richiesta, proprio come se la finestra fosse una normale pagina. Per creare un pulsante 'Annulla' in una finestra di dialogo, basta link alla pagina che ha attivato la finestra di dialogo per aprire. Questo modello di collegamento alla pagina precedente è utilizzabile anche in dispositivi non-JS, come pure ".

Come faccio a impedirlo?

È stato utile?

Soluzione

Non utilizzare un tag <a>, utilizzare un <div>

<div id="my_button" data-role="button" data-theme="a">Don't Close</div>

Poi basta allegare alcune azioni di programmazione per il ticchettio di quel div

$('#my_button').live('click', function({
    // do something
}

Altri suggerimenti

Se si aggiunge una funzione per onclick, che avrà la precedenza il comportamento predefinito. Basta lasciare href="#" nel tag, inserire la funzione come onclick="myFunction()" e si dovrebbe essere buono.

Poi, nella funzione che si può fare la stretta con questo: $('.ui-dialog').dialog('close')

Oppure si può ovviamente passare a un'altra pagina con: $.mobile.changePage('#page')

Sono sicuro che hai spostato sulla ormai, ma spero che questo può aiutare qualcun altro alla ricerca di questa soluzione.

del wom soluzione è buona, ma non c'è bisogno di cambiare da tag. Hai solo bisogno di cambiamento href come href = "#", come ha detto Marzo Ho test come questo, funziona benissimo.

E se ancora non può impedire l'azione di default, aggiungi e.preventDefault () sul gestore di clic del pulsante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top