Maison >interface Web >js tutoriel >Click() peut-il être utilisé pour la navigation par lien simulé ?
Click() peut-il être utilisé pour émuler la navigation par lien ?
Lorsqu'ils travaillent avec des minuteries JavaScript, de nombreux développeurs utilisent la fonction click() de jQuery pour émulez le clic sur un lien et accédez à une autre page après un intervalle de temps défini. Bien que la méthode click() fonctionne comme prévu, un comportement inattendu a été observé, ce qui soulève des questions sur sa fonctionnalité.
Comportement du navigateur
Si un gestionnaire d'événements a' n'a pas été attribué à un lien à l'aide de bind() ou click(), l'appel de click() semble n'avoir aucun effet. Le navigateur ne suivra pas le lien et ne chargera pas la page ciblée.
Cependant, si un gestionnaire d'événements est d'abord établi, click() fonctionne comme prévu, même si le gestionnaire ne contient aucun code.
$('a').click(function(){return true;}).click();
Dans ce cas, la nouvelle page se chargera comme si l'utilisateur avait cliqué manuellement sur le lien.
Explication
Initialement, le comportement observé était semble être lié à un problème dans le code ou la configuration. Cependant, des tests plus approfondis ont révélé que ce n'était pas le cas.
La fonction click() de jQuery a pour but de déclencher un événement de clic sur l'élément ciblé. Si aucun gestionnaire d'événements n'a été défini pour l'élément, click() déclenche simplement le gestionnaire de navigateur par défaut, qui lance la navigation par lien.
Solutions alternatives
Si click() Le comportement n'est pas adapté, il existe des options alternatives disponibles :
Utilisation de la méthode trigger() de jQuery :
$('a').trigger('click');
Utilisation de JavaScript Vanilla :
document.getElementById("a_link").click()
Modifier directement window.location :
window.location = "new_page.html";
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!