jQuery $(document).on(" click," .class")vs jQuery $('#container')。on(" click,&#34 ;的.class&#34)

时间:2015-10-08 08:23:46

标签: jquery

$(document).on("click", ".class", function(e) {
      some code
});

from urllib import urlopen
from Tkinter import *
from PIL import Image
import Tkinter as tk

root = Tk()

url = "http://www.wired.com/wp-  
content/uploads/2015/03/10182025tonedfull- 
660x441.jpg"
u = urlopen(url)
raw_data = u.read()
u.close()
import base64
b64_data = base64.encodestring(raw_data)
image = tk.PhotoImage(data=b64_data)
label = tk.Label(image=image)
label.pack()

root.mainloop()

任何人都可以建议哪个更快?谢谢!

1 个答案:

答案 0 :(得分:1)

将处理程序绑定到包含要委派给的所有动态元素的最具体元素通常会更好。使用委托时,只要事件发生在它所绑定的元素中的任何位置(示例中为document#container),内部jQuery处理程序就会运行,然后它会测试是否目标与选择器参数匹配。因此,如果绑定到更大的元素,则处理程序会更频繁地运行,这可能会影响响应性。

查找#container的效果可以忽略不计。当您第一次绑定处理程序时,这只发生一次。它也非常有效,因为浏览器可以优化ID和类查找。