2012-11-13 4 views

Répondre

26

data-ajax est une fonctionnalité de jQuery Mobile. JQM par défaut va essayer de charger les pages via ajax pour améliorer l'expérience utilisateur et les transitions. Si vous définissez data-ajax='false', JQM effectuera une requête de page normale au lieu d'utiliser ajax. Cela peut être utilisé sur des formulaires ainsi que des liens.

De l'docs:

Cela indique le cadre de faire un rechargement de la page complète pour effacer le hachage Ajax dans l'URL

Si vous souhaitez désactiver ajax sur tous vos liens puis au lieu d'ajouter data-ajax à tout, vous pouvez le faire comme ceci:

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

Y at-il un moyen de rendre toute ma demande "normale"? –

+0

Bon à savoir cela – rpax

+2

Cela a résolu un problème que j'avais avec un plugin ne chargeant pas parfois lorsque les liens ont été cliqués .. Merci! – jason

2

Rien du tout.

data-* est un ensemble générique d'attributs dans lesquels vous pouvez stocker des données pour l'accès par JavaScript.

À moins que vous ayez du JavaScript qui les traite, ils n'ont aucun sens.

jQuery n'a rien construit qui fait quoi que ce soit avec eux.

+0

La chose est que cela fonctionne. J'ai un site web où j'ai dû changer l'appereance, pour faire un design réactif. Et je me suis retrouvé avec des liens qui ne fonctionnent pas –

+0

Si "ça marche" c'est que du JavaScript fait quelque chose avec. La réponse acceptée suppose que vous utilisez jQuery mobile. Vous n'avez jamais dit cela dans la question. – Quentin

-1

si vous définissez l'attribut d'un élément t o données nom, vous pouvez, par jQuery, chercher à l'aide $('element').data('name') au lieu de $('element').attr('data-name');, mais les attributs data-* peut encore être utilisé pour la délégation de l'événement, comme $(document).on('click', '[data-name]', function(){});

Questions connexes