2012-02-23 58 views
0

我有一个ajax表单我不想提交,当我在我的main.js文件中使用下面的代码时,它不会阻止该操作。什么让我恼火的是,当我拿确切相同的代码,并将其放在<script>标签,它工作正常。为什么会这样做。只是你知道,我想要阻止的表单的页面是通过jQuery的ajax​​函数加载的。这可能是一个原因吗?谢谢您的帮助!jQuery .stopImmediatePropagation();将无法在外部JS文件上工作


继承人的代码:

$('.searchPageForm').submit(function(b) { 
    b.stopImmediatePropagation(); 
    console.log("Form Submitted"); 
    console.log("App Version: VGxLEM8pZoJGK"); 
    return false; 
}); 
+1

如果上述是在被包括在所述头部部分然后将它在executed_before_问题形式的外部文件存在,因此处理程序不会绑定任何东西。您需要在表单载入后运行它,或者使用委托事件处理程序(假设委托在提交事件中工作)。 – nnnnnn 2012-02-23 02:13:30

+0

好的,谢谢,我会通过'.load'的回调函数添加一个绑定事件。 – 2012-02-23 02:19:45

回答

1

如果形式是动态加载,您可能需要绑定提交处理程序的形式已经被插入到通话结束后(即调用它在阿贾克斯完整功能),或使用一个现场事件处理程序等.on(),像这样:

$('.searchPageForm').on('submit', function(b) { 
    b.stopImmediatePropagation(); 
    console.log("Form Submitted"); 
    console.log("App Version: VGxLEM8pZoJGK"); 
    return false; 
}); 
+0

感谢您的帮助 – 2012-02-23 03:20:03

相关问题