【发布时间】:2018-10-14 03:25:48
【问题描述】:
我试图在满足某些条件时停止执行 Javascript 事件处理程序,我的代码如下所示:
$(".save").click(function (event) {
$(".loader").fadeIn(300);
var statusValue = $("#status").val();
console.log(statusValue);
if (statusValue == null || statusValue == '') {
$("#status").css({
"border-color": "red",
"border-width": "1px",
"border-style": "solid"
});
event.preventDefault();
console.log("NOT EXECUTED");
}
console.log("EXECUTED");
// .. some more code
}
当我检查控制台时,我得到这样的结果:
空
空
未执行
已执行
所以我想知道怎么来的?
If == null 条件满足不应该 event.preventDefault() 停止这个 .click 事件从执行到结束?
我正在尝试实现,如果没有选择任何内容然后阻止执行,我的选择如下所示:
<select class="form-control" id="status">
<option value="Done">Done</option>
<option value="Complited">Completed</option>
<option value="Cancel">Cancel</option>
</select>
【问题讨论】:
-
我不认为
event.preventDefault()做你认为它做的事情 -
在你的选择中,默认选择完成
-
event.preventDefault()不能那样工作。阅读本文了解更多信息,developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault
标签: javascript html jquery jquery-events