2015-09-22 77 views
1

我有一個MVC應用程序,利用AJAX爲了從服務器和/或加載部分獲取一些數據。這是我爲了綁定行動,真沒必要存在的頁面上的元素做:jQuery文檔VS DOM元素綁定

$(document).on("click",".helloWorld", function(){ alert("hello world") }); 

它是一個不好的做法不是直接綁定動作元素?在這種情況下,我應該直接在部分頁面上使用腳本嗎?它慢多少?如果我在頁面上有十幾種類似的方法,它是否會破壞性能?

+0

[This answer](http://stackoverflow.com/a/12824698/1612146)應該會幫助你更好地理解。 – George

+1

如果不是完全不可感知的話,速度下降速度將會接近。你正在做事件委託,所以這裏假設'.helloworld'是一個動態創建的元素。如果不是,你可以做一個簡單的未委託事件。 –

回答

1

我認爲沒關係。 現在的電腦速度相當快,所以更多的JavaScript代碼不是一個大問題。 唯一讓你的網站變慢的是「更多的代碼意味着更多的頁面加載時間」。但它不是很多。 所以不要太擔心!

2

沒有比代表更好的辦法,如果元素沒有在頁面(比方說,他們以後加載或更換),因爲它們不能約束

Performancewise以前存在的,它實際上是遠比綁定許多元素更高效。事件委託的用例將是一個非常大的表格,有很多td。即使所有元素都預先存在,表格處理td's

的事件的速度會更快我會說你沒事。在你的情況下,你的內容是動態的,所以我會說你不能做不同的事情(雖然我沒有看到你的代碼,所以不能肯定地說)