$._data 用于获取元素上注册的事件
用法
传入: 目标节点(原生 js 那种格式), 字符串 “events”
返回: 一个记录操作名的对象, 操作下是该操作对应的事件详情, 包括方法(handler)
$._data(element, "events")
//
var events = $._data($('#swq')[0], 'events');
var events2 = $._data(document, 'events');
demo
'use strict';
function fun2() {
console.log(2)
}
$("#swq").on('click', function() {
console.log(1)
})
$("#swq").on('click', fun2)
// 获取 #swq 上注册的事件
var events = $._data($('#swq')[0], 'events');
console.log(events) // click 下有 2 个事件
// 解绑一个
$("#swq").unbind('click', fun2)
console.log(events) // click 下有 1 个事件
// 这种写法是绑在 document 上, 对 #swq 没影响
$(document).on("click", "#swq", fun2)
var events2 = $._data(document, 'events');
console.log(events) // click 下有 1 个事件, document 监听 #swq, 但事件是属于 document 的
console.log(events2) // click 下有 1 个事件
$("#swq").on('click', fun2)
// 绑定的方法
console.log(events.click[0].handler)
console.log(events.click[1].handler)
//end