Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何让event.preventDefault处理动态函数_Javascript_Jquery - Fatal编程技术网

Javascript 如何让event.preventDefault处理动态函数

Javascript 如何让event.preventDefault处理动态函数,javascript,jquery,Javascript,Jquery,我有一个表格,分为几个部分。当用户单击continue时,我有一个jquery脚本,用于检查是否填写了所有必填字段。如果没有,则会出现一个带有警告和按钮的框,它们实际上是“是”和“否”的标记。我将onclick事件附加到触发函数的“yes”按钮。该函数可以工作,但地址栏website.com/page中会出现一个,我猜这是因为event.preventDefault;在我的代码中,没有工作 以下是添加onclick事件的函数: function checkSection (event, chec

我有一个表格,分为几个部分。当用户单击continue时,我有一个jquery脚本,用于检查是否填写了所有必填字段。如果没有,则会出现一个带有警告和按钮的框,它们实际上是“是”和“否”的标记。我将onclick事件附加到触发函数的“yes”按钮。该函数可以工作,但地址栏website.com/page中会出现一个,我猜这是因为event.preventDefault;在我的代码中,没有工作

以下是添加onclick事件的函数:

function checkSection (event, check, goTo) {
    event.preventDefault();
    var emptyFields = "0";
    $("#ia"+check+"Div .check").each(function() {
        var val = $(this).val();

        if (val == "") {
            emptyFields++;
        } 
    });

    if (emptyFields >= 1) {
        $(".mask").show();
        $("#warningBox").show();
        $(document).on("click", "#yesBtn", function() { 
            var x = window['save'+check];
            x(event, goTo);
            $("#warningBox").hide();
            $(".mask").hide();
        });
    } else {
        var x = window['save'+check];
        x(event, goTo);
        $("#warningBox").hide();
    }
}
以下是我将事件添加到的标记:

<div class="medBtn short">
    <div class="btnTbl">
        <a href="#" id="yesBtn">Yes</a>
    </div>
</div>

就像我说的,这个函数仍然可以工作,所以如果我不能找到它,那就好了。我只是不喜欢地址栏中有一个。事件对象在事件发生之前不存在

您可以在实际事件处理程序中阻止默认值

$(document).on("click", "#yesBtn", function(event) {
    event.preventDefault();
    ....
}) 
$(document).on("click", "#yesBtn", function(event) {
    event.preventDefault();
    ....
})