請幫我理解爲什麼單擊事件正在我的科爾多瓦應用程序的頁面就緒事件中觸發。只要頁面加載點擊事件被解僱,如果沒有選擇國家,它仍然嘗試點擊「登錄幫助」來發送郵件。爲什麼? index.html中爲什麼點擊事件在頁面準備事件後被觸發?
`<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);
});
});
在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");
}
有一個下拉的,我沒有寫的第一個元素(「選擇國家」)不具有值。 我也在使用underscore.js 如果需要,請索取更多信息。
只要頁面開始加載,逐行執行就會顯示ConstructLoginHelp被觸發,併到達window.alert(頁面加載時不應發生)。現在它發生了兩次。並intrestingly鏈接點擊不起作用。
_「爲什麼單擊事件被觸發ed「_--它不是 - 你的_function_被調用,因爲這是函數名稱附加'()'的作用。 – CBroe
至於爲什麼「點擊」不會觸發警報,即使國家還沒有選擇,因爲你將它比作一個空格'''',嘗試將它改爲'「」',沒有空格在 – am05mhz
之間刪除了仍然觸發電子郵件的空間。 – Hemant