關於jQuery中的submit()函數


關於jQuery中的submit()函數(綁定event handler or 觸發event?)

  今天在敲代碼的時候無意間碰到了一個比較繞的問題(一個小師弟問的問題),思前想后都不明白,上午百度、谷歌了半天,再加上讀了下英文api才算明白開來。現在記下來,給大家做個提醒。廢話不多說,代碼如下:

1  $('#myFormId').submit(function() { 
2      // submit the form 
3      $(this).ajaxSubmit(); 
4      // return false,這樣可以阻止正常的瀏覽器表單提交和頁面轉向 
5      return false; 
6  });
7  $('#myFormId').submit();

 

  這一段類似於我遇到的代碼,在程序執行到上面第1行的時候並沒有觸發表單提交事件,而在第7行執行的時候才提交表單。這就導致了對以下兩個函數的理解:

1 $(selector).submit();
2 $(selector).submit(fn);

  經過查api和去網上搜索,明白了其中的原委。上面的第一行的函數的意思是觸發選擇器選擇元素的“submit”事件,而第二行的元素的意思是給選擇器選擇元素綁定“submit”事件處理函數。這樣就明白了最上面的代碼的意思,第一行是綁定處理函數,第七行代碼是觸發該事件。OK,問題搞定!

  下面是英文官方api解釋,還是官方api解釋靠譜,中文翻譯的完全沒搞懂。

  上面三條藍色部分是不同版本的變化,紅色圈出來的解釋了它們的不同。英文比較簡單,我就不獻丑了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM