簡體   English   中英

JQuery:提交事件不在FireFox上觸發

[英]JQuery : Submit event not firing on FireFox

我無法理解為什么下面描述的提交事件不會觸發FireFox和IE。 好的Chrome

 $("#frame-right").on("submit", "form", function(event){ alert('Submit done') }); 

你能幫助我嗎?

編輯

通過按“提交”按鈕提交表單,但表單包含在通過.load()函數加載的頁面中,並且在定義上述函數時不存在。

僅供參考,在同一個地方,我定義了這個功能,它在所有瀏覽器上運行正常

$("#frame-right").on("click","a",function(event){
alert('link clicked');
}

“提交”事件是否可以像“點擊”事件一樣動態綁定?

編輯2

感謝您的回復。 問題是在load()函數之后,無法使用Firefox提交加載的表單

我的錯...

經過長時間的測試,我發現表格必須在表格元素內部聲明...

這個例子不起作用:

<table>
  <form>
    <tr><td><button type="submit">Submit</button></td></tr>
  </form>
</table>

這個例子有效:

<form>
  <table>    
    <tr><td><button type="submit">Submit</button></td></tr>
  </table>
</form>

所以你應該在你的加載函數的回調中附加該監聽器,以確保在加載表單后它被附加。

例如:

$('#result').load('ajax/test.html', function() {


    $("#frame-right").on("submit", "form", function(event){                  
        alert('Submit done')
    });


});

這應該適合你。 在執行ajax時,請確保阻止默認的提交行為。

$(function(){
  $(document).on("submit", "form", function(event){   
      event.preventDefault() ;  // prevent dfaul submit behaviour
      alert("submitting")
  });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM