为什么我添加alert()时会在jquery中的preventDefault()之后返回默认行为

时间:2015-05-07 19:46:18

标签: jquery

我想防止默认,所以我可以做其他事情。为了看看它是否有效,我添加了警报。

HTML / jquery的:

<p><label for="value_new">Add </label><input class="suggest noSubmit" id="value_new" type="text" /></p>

$(document).on("keydown",".noSubmit",
    function() {
            if(event.keyCode == 13) {
                event.preventDefault();             
                //return false;
                alert("it worked");
            }
    }
);

但是当我关闭提醒时,表单会被提交。如果我改为使用console.log("it worked"),则表单未提交。

我的警报是否被解释为默认操作的确认?如果是这样,为什么?

2 个答案:

答案 0 :(得分:2)

您需要将事件作为参数包含在函数中

$(document).on("keydown",".noSubmit",
    function(event) {
            if(event.keyCode == 13) {
                event.preventDefault();             
                //return false;
                alert("it worked");
            }
    }
);

答案 1 :(得分:2)

您忘了将活动传递给您的函数:

<script>
    jQuery( '.ig-one' ).click(function( event ) {
        event.preventDefault();
        // Whatever other code you want.
    });
</script>