0
我有下面的代碼,回調似乎不能正常工作。我的理解是,如果用戶名未定義或爲空,那麼#username-error div應顯示,並且應將錯誤類添加到添加到用戶名輸入的get中。只有當這一切完成後,警報纔會被解僱。但是,當我在瀏覽器中查看時,錯誤div不顯示,並且警報被觸發。所以顯然,類錯誤正在增加,因此,建議#username-error div具有調用的.show()函數是合理的,但它確實看起來不像它。任何幫助,只要#username-error div出現一次,就可以讓我獲得警報以便觸發。jQuery回調不能正常工作
<script type="text/javascript">
$(document).ready(function() {
$("input[name='username']").bind("blur", function() {
validateUsername(myFunction);
});
$("input[type='submit']").bind("click", function() {
validateUsername(myFunction);
});
$("#username-error").hide();
$("#username-success").hide();
});
function myFunction() {
if ($(".error").length > 0) {
alert("errors on page");
return false;
}
}
function validateUsername(callback) {
var $username = $("input[name='username']");
if (typeof $username.val() === "undefined" || $username.val() === "") {
$("#username-error").show();
$("#username-success").hide();
$username.addClass("error");
} else {
$("#username-error").hide();
$("#username-success").show();
$username.removeClass("error");
}
if (callback) {
callback();
}
}
</script>
你把劇本放在哪裏?它似乎爲我使用CodePen。我的猜測是你的文檔的'
'標籤?如果是這種情況,那麼它在輸入被解析之前運行,所以綁定調用不能正常工作。使用codepen:http://codepen.io/shigidaMark/pen/oxBzjb。從jQuery:'處理程序被附加到jQuery對象中當前選定的元素,所以這些元素必須存在於調用.bind()發生的位置。 –