概述
本文详细分析jquery-1.11.1.js源码文件行数:568~5269;
代码简介:JQ原型jQuery.fn利用extend扩展了事件处理的方法on-增加事件监听,off-移除事件监听,trigger-触发事件等可有JQ对象实例调用的方法,这些方法会用each对JQ对象实例里的每一个节点都执行相对应的工具方法,即JQ对象实例的事件处理,是作用于内部所有原生dom节点的;
下文进行详细代码分析。
事件处理的实例方法
// 实例对象的事件处理方法
jQuery.fn.extend({
// 绑定事件方法on(参数one仅限是内部使用,JQ实例对象需要的话可以直接调用后面的one方法)
on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
var type, origFn;
// 支持types传入一个map,里面保存types/handlers的场景
if ( typeof types === "object" ) {
// selector不为string的场景( types-Object, selector, data )
if ( typeof selector !== "string" ) {
// 重定义data,假设data为空,则data = selector,( types-Object, data )
data = data || selector;
// 置空selector
selector = undefine