2013年3月26日 星期二

[jQuery]jQuery document ready 事件



jQuery 的 document ready 事件是模擬 W3C DOM 標準的 DOMContentLoaded 事件
全部的DOM元素下載完成後觸發。
因為不需等待圖檔載入完成,因此事件觸發的時間較早。
不會覆蓋,前一次跟後一次所設定的函式都會被執行。


有些時候,我們必須在網頁下載完成之後立即執行一些程式,
可能是想馬上顯示一些歡迎訊息等等。
以前是用 window.onload 來處理,
或是直接在 <body> 標籤上加入 onload 的事件處理函數,
範例:

$(document).ready(function() {
alert('Hi,歡迎歡迎~~');
});


你也可以這樣寫:

$(function() {
  alert('Hi,歡迎歡迎~~');
});



先透過 $() 取得 document 物件,接著使用 ready() 帶入一個函數,
就可以在網頁下載完成後立即執行。

DOMContentLoaded 和 window.onlad 的差異在於:
一、觸發時機
DOMContentLoaded 是在 DOM 文件下載完成後觸發,
window.onlad 是文件和所有文件內的元件,包含圖檔等等全部下載完成後才會觸發,

因此通常 window.onload 的觸發時間要比 DOMContentLoaded 晚一點,
如果網頁內有一些圖檔,就差多了,有時候你執行的程式並不需要等所有圖檔都下載完成,才執行。
因此,放到 DOMContentLoaded 事件內處理是比較合適的。

二、函式覆蓋

DOMContentLoaded 不會覆蓋,前一次跟後一次所設定的函式都會被執行。
window.onlad  前一次設定給window.onload的函式會被後一次所設定的函式覆蓋。

三、寫法
DOMContentLoaded

$(document).ready(function() { alert('Hi,歡迎歡迎~~'); });

window.onlad

window.onload=function() { alert('Hi,歡迎歡迎~~'); };

沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...