2012-04-16 31 views
-1

我使用jQuery我想知道的是下面的JavaScript代碼的jQuery的版本:這段代碼的jQuery版本是什麼?

document 
     .getElementById('cars') 
     .addEventListener('change', handleFileSelect, false); 

這是因爲jQuery不喜歡addEventListener()

+7

你試過了什麼? SO不是免費的編碼服務。從學習jQuery開始:http://docs.jquery.com/Tutorials – 2012-04-16 12:30:25

+2

這不是jQuery。這是純粹的javascript – emilan 2012-04-16 12:31:17

+0

我發佈這個問題之前嘗試綁定方法,但它似乎並沒有工作 – user1333290 2012-04-16 12:32:50

回答

5

那將是...

$('#cars').change(handleFileSelect); 

jQuery的確實addEventListener()。事實上,我確定這是它的事件的首選實施(作爲標準)。

2
$('.#cars').change(handleFileSelect); 

拆毀了

// document.getElementById('cars') 
$('#cars');      // #<name> is id reference, 
            // .<name> is class reference 
            // <name> is an HTML tag reference 

// addEventListener 
.bind('change', handleFileSelect) // "broad" binding 
.change(handleFileSelect)   // jQuery short-hand of above 
1

本質上你的答案是這樣的:

$("#files").bind("change",handleFileSelect); 

然而change事件用於其他一些內置的事件處理程序,所以你可能想留遠離使用特定的字符串作爲你的事件 - 除非你正在尋找捕獲事件。 :P

當元素值發生變化時,將更改事件發送給元素。此 事件限於<input>元素,<textarea>框和<select> 元素。對於選擇框,複選框和單選按鈕,當用戶使用鼠標 進行選擇時,會立即觸發事件 ,但對於其他元素類型,事件將推遲到 元素失去焦點。


jQuery documentation說,這來形容bind功能:

附加的處理程序爲元素的事件。

4
$("#cars").bind("change",handleFileSelect) 
1

你可以嘗試:

$('#cars').bind('change', function() { //your code goes here }); 

據jQuery的文檔:

http://api.jquery.com/bind/(綁定)

http://api.jquery.com/live/(活)

考慮的大量C你必須選擇更清楚的人,以及容易理解的人。

希望它有幫助!

+0

請注意,'.live'自jQuery 1.7以來已棄用。 – 2012-04-16 15:28:59

+0

是的,只爲研究目的。這裏是新的「on」方法:http://api.jquery.com/on/謝謝! – axcdnt 2012-04-16 15:31:44

0
$("#cars").on('change', handleFileSelect); 
-1
$("#cars").live("change",handleFileSelect) 

這會有所幫助,如果你的輸入件動態由JavaScript創建的。

+1

你應該將它與你現有的答案合併 - 這是不足以在自己的答案。 – Lix 2012-04-16 12:36:28

+1

現在不應該通過'on()'推薦'live()'。 – alex 2012-04-16 12:57:25