2011-12-15 20 views

回答

2

鑑於共同

function func(){ alert('woo!'); } 

我想你可能已經看到的東西,提到

$('#content').bind('click', func); 

相同
$('#content').click(func); 

這就是你的意思/看到了嗎?

4

你粘貼的不是jQuery函數,它們只是你自己代碼中的函數。他們都做同樣的事情,正如職能部門是相同的。

+1

功能體是相同的不*必然*表示它們完全一樣。從技術上講,它們的名稱屬性和地址是不同的,但現在我們只是分割頭髮:P('bind.name!== rebind.name','bind!== rebind')。 –

+1

@丹:真的!在這個特定情況下,相同的函數體*告訴我們函數完成同樣的事情,但是我會認爲相同的實體本身不必*意味着兩個函數完成同樣的事情。還應該注意的是,在某個地方,可能'重新綁定'是重新定義的,但'綁定'不是,所以我們無法確定,即使在這種特定情況下,可以安全地更改所有' rebind'使用'bind',然後刪除'rebind'。 –

+0

除了兩個不同的函數體有不同的作用域,即'function a(){this.something = false; }'和'.call({hellz:'yeah'});'會有不同的結果。 –

5

形式.bind(的優勢)是你可以針對多個事件:

$("#content").bind("click dblclick focus", function() { 
    doSomethingForAllCases(); 
}); 
+1

這是一個偉大的觀點(順便說一句,你不需要在這裏包裝一個匿名函數,你可以把一個對doSomethingForAllCases的引用)。 –

1

你不需要使用bind像點擊,onMouse等違約事件..

綁定是非常有用的,當你定製了一些事件,然後 該事件附加到一個元素,或者如果你想一次附加多個事件 。

.bind()方法用於將事件處理程序直接附加到 元素。處理程序安裝於 jQuery對象當前選擇的元素,因此這些元素必須在點存在呼叫 到.bind()發生

參閱 - this

相關問題