如何使onclick事件不会波动

时间:2014-02-07 05:28:10

标签: javascript

function change(){
    jQuery(document).on("click", "#formvalid", function (event) {
        $(':input').each(function() {  // finding all input tags 
            if ($(this).val() == '') { // If value is null then changing the style of input tag
                $('#content').html( "<span class='red'>Hello <b>Again</b></span>" );
            }
        }); 
    });
}

我正在使用此代码,在点击事件发生后,它会提供输出片刻,然后它会波动到原始片段。即使执行了click funciton,我也希望输出hello再次稳定。

1 个答案:

答案 0 :(得分:0)

我认为#formvalid是一个提交按钮,所以当你点击按钮时,表单就会被提交。如果表单上没有action网址,则只会重新加载页面。

如果您不想提交表单,you have to prevent it

function change(){
    jQuery(document).on("click", "#formvalid", function (event) {
        event.preventDefault();
        // ...
    });
}

或者,如果您从不想要使用该按钮提交表单,请更改按钮的类型,例如

<button id="formvalid" type="button">Validate</button>

另一方面,如果你想在每个表单提交上运行处理程序,你应该真正倾听the submit event on the form itself,而不是按钮上的点击事件。