2012-10-26 92 views
1

什麼是event基本jQuery的理解

$(document).ready(function(){ 
    $("a").click(function(event){ 
    alert("Thanks for visiting!"); 
    }); 
}); 

而且這一

$(document).ready(function(){ 
    $("a").click(function(){ 
    alert("Thanks for visiting!"); 
    }); 
}); 

這兩個JS塊都在做同樣的事情,而是一個與event,如果有人能解釋一下什麼是function(event),我也看到了類似於函數(e),函數(g)的東西,那些是什麼?有我可以學習的教程嗎?

+0

http://javascript.info/tutorial/arguments – Esailija

回答

3

您提供給$("a").click的回調函數是一個帶參數的函數。這個參數是一個事件對象,包含關於對象的詳細信息。你的函數聲明可以使用你喜歡的任何名稱的這個參數— event,e,...並且它也可以簡單地將它忽略掉,因爲你沒有在你的函數中使用它。

考慮這兩個功能在本質上是相同的:

function foo(hi) { 
    alert(hi); 
} 

function foo(bye) { 
    alert(bye); 
} 

而且你可以離開了爭論,如果它不使用:

function bar() { 
    alert("hello!"); 
} 

bar(12345); 
1

第一個示例中的event是未使用的參數。

jQuery將各種參數傳遞給每個事件處理程序 - 您可以在文檔中找到這些參數的詳細信息(例如http://api.jquery.com/click/)。

當你不需要使用event對象(或e,或g - 你可以給參數任何你想要的名稱),那麼不要緊,你是否不包括它

但是,如果您由於某種原因需要使用處理程序(例如,要撥打event.preventDefault()以防止默認點擊行爲發生),那麼您需要包含它。

1

的jQuery傳遞的EventObject的處理器/回調函數這在你的例子中沒有使用。
您可以閱讀關於jQuery中的eventObject的more

2

事件是一個對象,它代表... 事件,它產生了要執行的函數。

以下是關於主題的更多信息:

http://api.jquery.com/category/events/event-object/

它經常被用來防止某個事件的默認行爲,或停止事件傳播到父對象:

function(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
} 
0

事件參數是一個可選參數,它可以是任何有效的變量名稱。根據您的要求,您可以通過或忽略它。

欲瞭解更多信息,請訪問http://api.jquery.com/click/

.click(handler(eventObject)) 

handler(eventObject)A function to execute each time the event is triggered. 
version added: 1.4.3.click([eventData], handler(eventObject)) 

eventDataA map of data that will be passed to the event handler. 

handler(eventObject)A function to execute each time the event is triggered. 
version added: 1.0.click() 
1

活動:在JavaScript中的事件是什麼,有或在網頁上發生的。事件

實施例: 鼠標點擊

該網頁裝載

鼠標懸停在網頁上的熱點,也稱爲懸停

在HTML表單中選擇一個輸入框

擊鍵等...

個活動jQuery中

使用e只是一個短暫的event.You可以使用任何變量說克代替Ë

$('#xyz_id').click(function(g){ 
    var clicked_target = g.target; 
}); 

你可以看看jQuery的進一步活動在

http://api.jquery.com/category/events/event-object/