我寫了一些JavaScript/jQuery代碼,它將用戶電子郵件添加到我的通訊數據庫中。有一個「訂閱」按鈕來啓動這個過程,但我也希望用戶能夠實現可用性的返回。函數的行爲差異 - JavaScript/jQuery
奇怪的是,代碼適用於按鈕,並且當返回鍵被擊中時,電子郵件被添加到數據庫,但僅當按鈕被擊中時觸發僅顯示警報的回調函數,當按下返回鍵時爲。
$('#newsletter_button').click(function(event) {
newsletterSignup();
});
$('#newsletter_email').bind('keyup', function(event) { newsReturn(event); });
function newsletterSignup() {
var email = $.trim($('#newsletter_email').val());
if(!validateEmail(email)) {
alert('Please enter a valid email');
return false;
} else {
// add email to database
$.post('newsletterSignup.php',
{ email: email },
function(data) {alert(data);}
);
$('#newsletter_email').val("");
}
}
function newsReturn(evt) {
if (evt.keyCode == 13) {
newsletterSignup();
}
}
該功能必須工作相同,無論它如何被稱爲肯定!就像我說的post函數顯然被稱爲兩次,因爲電子郵件被添加到數據庫。
我能想到的唯一的事情就是它與事件有關。不知道是什麼。