使用On 给控件赋值事件的时候,你有没有觉得很神奇那,那是因为他事件处理流程比较特殊。
on()
函数并不是为当前jQuery对象匹配的元素绑定事件处理函数,而是为它们的后代元素中符合选择器selector
参数的元素绑定事件处理函数。on()
函数并不是直接为这些后代元素挨个绑定事件,而是委托给当前jQuery对象的匹配元素来处理。由于DOM 2级的事件流机制,当后代元素selector
触发事件时,该事件会在事件冒泡中传递给其所有的祖辈元素,当事件流传递到当前匹配元素时,jQuery会判断是哪个后代元素触发了事件,如果该元素符合选择器selector
,jQuery就会捕获该事件,从而执行绑定的事件处理函数。
摘抄来源:http://www.365mini.com/page/jquery-on.htm