2012-02-23 56 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

相關問題