2012-11-13 17 views

risposta

26

data-ajax è una funzionalità di jQuery Mobile. Per impostazione predefinita, JQM tenterà di caricare pagine tramite ajax per migliorare l'esperienza utente e le transizioni. Se imposti data-ajax='false', JQM eseguirà una normale richiesta di pagina invece di utilizzare ajax. Questo può essere utilizzato su moduli e link.

Dal docs:

Questo dice il quadro per fare una pagina di ricarica completa per cancellare l'hash Ajax nell'URL

Se si desidera disabilitare ajax su tutti i link allora invece di aggiungere data-ajax a tutto ciò, si può fare in questo modo:

$(document).bind("mobileinit", function() { 
    $.mobile.ajaxEnabled = false; 
}); 
+0

C'è un modo per rendere "normale" tutta la mia richiesta? –

+0

Buono a sapersi questo – rpax

+2

Abbiamo risolto un problema che avevo con un plug-in che non veniva caricato a volte quando si cliccava il link .. Grazie! – jason

2

Niente affatto.

data-* è un insieme generico di attributi in cui è possibile memorizzare i dati per l'accesso da JavaScript.

A meno che non si abbia un codice JavaScript che li tratti, non hanno significato.

jQuery non ha nulla di costruito che faccia qualcosa con loro.

+0

Il fatto è che funziona. Ho un sito web in cui ho dovuto cambiare l'aspetto, per creare un design reattivo ad esso. E mi sono trovato con collegamenti che non funzionano –

+0

Se "funziona", allora è perché alcuni JavaScript stanno facendo qualcosa con esso. La risposta accettata presuppone che tu stia utilizzando jQuery mobile. Non l'hai mai detto nella domanda. – Quentin

-1

se si imposta l'attributo di un elemento t o dati-nome, è possibile, attraverso jQuery, prenderla con $('element').data('name') invece di $('element').attr('data-name');, ma data-* attributi può ancora essere utilizzato per la delega evento, come $(document).on('click', '[data-name]', function(){});