S'il vous plaît aidez-moi à comprendre pourquoi l'événement de clic est déclenché sur l'événement page prête dans mon application cordova. Dès que la page est chargée, l'événement est déclenché et si aucun pays n'est encore sélectionné, il essaie de tirer sur le courrier en cliquant sur "Aide à la connexion". Pourquoi? Dans index.htmlPourquoi un événement de clic est-il déclenché après un événement prêt pour la page?
`<div class="app-login-email-help">
<a id="EmailUsLink" class="app-login-email-help-text" href="#">
<span>Login Help</span>
</a>
</div>`
$(document).on("pagecreate", function() {
$x.page.login.init();
$("#EmailUsLink").on('click', $x.page.login.ConstructLoginHelp);
});
});
Dans login.js
ConstructLoginHelp: function() {
var emailid = "[email protected]";
var subjectLine = "Login Help";
var emailBodyText = "Describe the login problem.";
if($("#SelectCountry option:selected").val() != "undefined"){
if ($("#SelectCountry option:selected").text()){
if (!_.contains(['US', 'AU', 'CA', 'IN', 'MY', 'PH', 'SG', 'GB'], $('#SelectCountry').val())) {
subjectLine = systemResources["LoginHelpSubjectLine".concat($("#SelectCountry option:selected").text())];
emailBodyText = systemResources["LoginHelpEmailBody" + $("#SelectCountry option:selected").text()];
}
}
$x.page.login.elements.emailUsLink.attr('href', 'mailto:' + emailid + '?subject=' + subjectLine + '&body=' + emailBodyText);
}
else
window.alert("Please Select Country");
}
Il y a une liste déroulante pour laquelle je ne l'ai pas écrit le premier élément (« pays Select ») n'a pas valeur. J'utilise aussi underscore.js S'il vous plaît demander pour plus d'informations si nécessaire. L'exécution ligne par ligne montre dès que la page commence le chargement de ConstructLoginHelp et qu'elle atteint window.alert (ce qui ne devrait pas se produire lors du chargement de la page)
Maintenant, ça se passe deux fois. Et le lien lien intrestingly ne fonctionne pas.
_ "pourquoi cliquez sur événement est déclencheur ed "_ - ce n'est pas le cas - votre fonction _ est appelée, car c'est ce que fait l'ajout de'() 'au nom de la fonction. – CBroe
quant à la raison pour laquelle le "clic" ne déclenche pas l'alerte même si le pays n'a pas encore sélectionné, c'est parce que vous le comparez à un seul espace '" "', essayez de le changer en '" "', pas d'espace dans entre – am05mhz
supprimé l'espace qui déclenche toujours l'e-mail. – Hemant