Désactiver (et re-activer le href et onclick sur les éléments
Je veux juste activer /désactiver href onclick et sur les éléments (un ou div).
Je ne sais pas comment faire.
Je peux désactiver onclick par l'ajout d'un gestionnaire de clic de l'événement, mais le href est toujours disponible.
$(this).unbind().click(function(event){
event.preventDefault();
return;
});
Modifier TROUVÉ UN HACK POUR UN des ÉLÉMENTS
if ($(this).attr("href")) {
$(this).attr("x-href", $(this).attr("href"));
$(this).removeAttr("href");
}
- C'est assez vague question. Qu'est-ce exactement que vous essayez de faire? Supprimer la
href
bien ainsi? - Ok, désolé 😉 je veux juste être en mesure (en cliquant sur un bouton), pour activer / désactiver tous les liens (cliquez sur ou href) sur les éléments (div ou un)
Vous devez vous connecter pour publier un commentaire.
Si vous retournez
false
sur l'événement onclick, lehref
est irgnored.Il ira à Goole:
<a
href="http://www.google.com"
onclick="alert('Go to
Google')">Test</a>
Cela ne va pas aller sur Google:
<a href="http://www.google.com" onclick="alert('Go to Google'); return false;">Test</a>
Ok j'ai trouvé une solution : mettre une surcouche au-dessus de la div contenant tous les éléments que je voulais désactiver ..
Il fonctionne, tout simplement.
Vous pouvez essayer les suivantes:
MDC documentation de
preventDefault
, jQuery documentation deévénement.preventDefault
.DONC, la question: JavaScript
événement.preventDefault
etreturn false
.Je ne suis pas sûr que le problème de la "
href
encore disponibles," depuis leclick
événement est annulé; toutefois, si vous souhaitez supprimer lehref
dea
éléments:les supprimer (ou, plutôt, remplacez l'URL avec un
#
).Édité en réponse au commentaire (à la question) par l'OP:
unbind()
,bind()
.Essayez ceci pour la désactiver, cliquez sur:
$(this).unbind('click');
Vous pouvez définir la
href
attribut directement à""
pour empêcher l'origine d'apparaître dans la barre d'état, si c'est ce que vous demandez.Sinon, un
event.preventDefault()
déjà arrête de liens cliquables.