我正在通過將元素克隆到其中來填充列表。然後我改變attrs使每個項目獨特。他們需要調用點擊一個功能,所以我不知道,如果是更有效地使用new_element.click(func);
或new_element.attr('onlick','func();');
jQuery:是element.click(func)還是element.attr('onclick','func()')更高效?
1
A
回答
4
new_element.attr('onclick','func();');
是:
低效的(不必要創建一個字符串的新的內聯函數,什麼也不做,除了通話FUNC而失去
this
參考);加重放置任何複雜的代碼,因爲它都必須是JS字符串轉義;
在IE中損壞,由於
setAttribute
中的錯誤。
避免。 click()
/bind('click')
是有原因的。
3
的onclick有許多限制,包括混亂的DOM,只允許一次一個功能。所以你應該使用點擊。有關更多信息,請參閱Quirks Mode。
0
由於您使用jQuery然後使它這樣
new_element.click(function(){
// your code
});
,或者你可以綁定單擊事件處理程序像
new_element.bind("click", function(){
// your code
});
+0
謝謝,但功能已經存在,並從幾個地方被稱爲。匿名函數不適合我。 – Jake 2010-04-29 05:01:13
0
在兩者之間的任何性能差異很可能將是微不足道。你應該使用更好的那個,那就是element.click
。 (另外,onclick
有許多缺點,正如@Matthew Flaschen所說的那樣)。
1
直接引用該函數將比解釋字符串更有效。
這樣做的最低的觸摸方式,然而,就是這樣:
$(links_selector).live('click', func);
links_selector
想必會像ul.listClass a.actionClass
。當添加新列表元素時,這不需要做任何事情。
相關問題
- 1. onclick =「func()」或.click()?
- 2. web - button.onclick = func(); vs <button onclick =「func()」?
- 3. 方案高階FUNC
- 4. 在jQuery中,$(func)等價於$(document).ready(func)?
- 5. 的onclick = Func鍵VS的onclick =函數()
- 6. 的onclick = 「JavaScript的:函數()」 對的onclick = 「FUNC()」
- 7. [sock] = func()是什麼意思?
- 8. 什麼是func代表?
- 9. 語法this-> func()和func()之間是否有細微差別?
- 10. &$ func($ arg)和$ func - >($ arg)是否有區別?
- 11. `setTimeout(func,0)`和`setTimeout(func,1)`是否一樣?
- 12. 爲什麼人們使用setTimeout(「func()」,...)而不是setTimeout(func,...)
- 13. element.addEventListener('load',func)和element.onload = func是否有區別?
- 14. 如何通過addEventListener添加onclick =「return func()」?
- 15. Swift:將func傳遞給func調用傳入的func
- 16. jQuery的.focus(FUNC)做幾次,
- 17. jQuery的setTimout遺址都FUNC
- 18. 爲什麼func()和func(void)不同
- 19. 強制轉換爲Func vs new Func?
- 20. (ptr + i) - > Func()和&ptr [i] .Func()
- 21. func(QWidget * const&Widget)VS func(QWidget * const Widget)
- 22. Coffeescript函數聲明func: - >或func = - >?
- 23. Swift - private var/func vs private final var/func
- 24. 引用另一個func中的func(swift)
- 25. 在Swift中返回func的func
- 26. 更改didSelectRowAtIndexPath方法FUNC IndexPath
- 27. Kinetic JS func不是退貨對象
- 28. 這是什麼聲明`void func(bool b ...)`?
- 29. 用行動而不是Func鍵
- 30. 未定義指數:FUNC isset是本
而且很容易出現拼寫錯誤('onclikc') – 2012-04-11 08:02:29