javascript - Comment modifier le mécanisme de déclenchement par défaut de l'attribut a tag du navigateur?
伊谢尔伦
伊谢尔伦 2017-07-01 09:12:15
0
9
1737

On sait que l'ordre d'exécution d'une balise est l'attribut onclick->href

当点击浏览器a标签的时候,浏览器的默认机制如下: 1、触发a的click事件 2、读取href属性的值 3、如果是URI则跳转 4、如果是javascript代码则执行该代码

Comment modifier ce mécanisme pour que lorsque l'événement onclick est terminé, l'URL qui exécute l'attribut href saute. La fonction de l'événement onclick envoie une requête ajax et modifie l'attribut href en fonction de la valeur de retour

Après avoir modifié l'attribut href, vous devez ouvrir une nouvelle page dans le navigateur actuel

mise à jour--------------30/06/2017------------------------------------ ---------------

Après les tests, j'ai modifié la requête ajax en exécution synchrone, mais elle ne parvient toujours pas à faire en sorte que la fonction onclick de la balise a termine son exécution avant d'exécuter l'action href

La raison peut être que ajax est modifié en requête synchrone, ce qui bloquera d'autres opérations sur la page en cours,

Mais le clic de la balise a a été terminé et l'action href suivante continue d'être exécutée, et l'action href est void(0) à ce moment, et la requête ajax n'a pas encore été renvoyée à ce moment

Réponse, c'est-à-dire que la demande de synchronisation ajax ne bloque pas l'action du tag a

Dans l'attente de meilleures réponses

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous (9)
过去多啦不再A梦

$('a').click(function(e) {

e.preventDefault()

var _ = $(this)
$.get(xx, function() {

location.href = _.attr('href')

});
})

    淡淡烟草味
    $('a').click(function() { var link = this $.get(xx, function() { location.href = link.href }); return false // 阻止先不跳转 })
      曾经蜡笔没有小新

      Utilisez js pour accéder à la page dans onclick
      //ajax start
      success:function(){

      //todo。。。。。 window.location.href = 'url'

      }

        刘奇

        1. Interdire à une balise de sauter href="javascript:void(0)"
        2. Demandez ajax dans la méthode onclick. Après succès, liez la valeur de retour à href

        .
          typecho

          Pourquoi ne pas attribuer d'abord une valeur àhref, puis sauter une fois la demande terminée ?

            学霸
            1、禁止a标签跳转 href="javascript:void(0)" 2、其他的在onclick方法中进行
              Peter_Zhu

              Tous les événements par défaut dans le navigateur sont désactivés et vous pouvez utiliserevent.preventDefault()pour les empêcher. Le reste est dans votre fonction de rappel, et vous pouvez faire ce que vous voulez. Bien sûr, si vous devez être compatible avec IE8 et versions antérieures, vous pouvez le faire. peut l'écrire comme suit : :

              // event 为你的监听onclick回调函数中传递的参数 event.preventDefault ? event.preventDefault() : (event.returnValue = false);
                曾经蜡笔没有小新

                Après une longue attente, s'il vous plaît, mangez

                    Document 
                  click   
                  Derniers téléchargements
                  Plus>
                  effets Web
                  Code source du site Web
                  Matériel du site Web
                  Modèle frontal
                  À propos de nous Clause de non-responsabilité Sitemap
                  Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!