JQuery错误的脚本顺序?

时间:2013-10-13 22:40:45

标签: javascript jquery html

我有这个jquery脚本,它在head标签中不起作用。

<script type="text/javascript">
    $(window).load(function() {
        $( "#target" ).submit(function( event ) {
            alert( "Handler for .submit() called." );
            event.preventDefault();
        });
}
</script>

但如果我将代码放在表单下面,它通常会起作用。

我想将它放在.js文件中。但是在head标签中不起作用,只有在表格后面包含。

可以使此代码在head标签中工作吗?

3 个答案:

答案 0 :(得分:2)

可能在.load事件被触发之前不会呈现表单。

检查哪个窗口,但您可能想写:

<script type="text/javascript">
    $(document).ready(function() {
        $( "#target" ).submit(function( event ) {
            alert( "Handler for .submit() called." );
            event.preventDefault();
        });
     });
</script>

选中此link

如果你不使用.ready方法,它将执行代码,搜索#target并找不到任何内容,因为渲染没有传递你所定位的对象,所以它无法找到它

答案 1 :(得分:2)

你应该像这样初始化jQuery:

$(document).ready(function() {
    $( "#target" ).submit(function( event ) {
        alert( "Handler for .submit() called." );
        event.preventDefault();
    });
});

答案 2 :(得分:0)

试试这个?

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function() {            
    $(document).on("submit", "#target", function(event) {
        alert("Handler for .submit() called.");
        event.preventDefault();
    });
});
</script>