jquery获取元素绑定的事件
在调试jquery的事件绑定时会用到。查看某元素是否绑定上了事件。
在JQuery1.8之前:
var obj=$('div');var events=obj.data('events');
在JQuery1.8中:
var objs=$('div');var events=$._data(objs[0],'events');
如果想查看events里具体都哪些事件。可以使用自定义的一个JS方法,把任意对象转换为json格式的字符串
alert(obj2String(events));
/**
* 将JS的任意对象输出为json格式字符串
* @param {Object} _obj: 需要输出为string的对象
*/
var obj2String = function(_obj) {
var t = typeof (\_obj);
if (t != 'object' || \_obj === null) \{
// simple data type
if (t == 'string') \{
\_obj = '"' + \_obj + '"';
\}
return String(\_obj);
\} else \{
if ( \_obj instanceof Date) \{
return \_obj.toLocaleString();
\}
// recurse array or object
var n, v, json = \[\], arr = (\_obj && \_obj.constructor == Array);
for (n in \_obj) \{
v = \_obj\[n\];
t = typeof (v);
if (t == 'string') \{
v = '"' + v + '"';
\} else if (t == "object" && v !== null) \{
v = this.obj2String(v);
\}
json.push(( arr ? '' : '"' + n + '":') + String(v));
\}
return ( arr ? '\[' : '\{') + String(json) + ( arr ? '\]' : '\}');
\}
};
还没有评论,来说两句吧...