jquery:
var Sub = (typeof Sub == 'object') ? Sub : {};
Sub.init = function() {
//data-func方法 x
$('[data-func]').each(function(e) {
var $this = $(this),
data = $this.data();
Sub.call($this, data);
});
};
Sub.call = function(This, data) {
if ($.isFunction(Sub[data.func])) {
Sub[data.func](This, data);
}
};
//js逻辑代码
Sub.readNum = function(e, data) {
console.log(e)
console.log(data.id)
}
//在这里写入js的逻辑代码 元素绑定
<li data-id=' + e.iSourceId + ' data-type=' + e.content_type + ' data-func="readNum">
如果需要初始化的话---->Sub.init('readNum');
Sub.init();
zepto:
var Sub = (typeof Sub == 'object') ? Sub : {};
Sub.init = function() {
//data-func方法 x
$('[data-func]').each(function(e) {
var obj = {},
$this = $(this),
data = $this.data('func');
obj['func'] = data
Sub.call($this, obj);
});
};
Sub.call = function(This, data) {
if ($.isFunction(Sub[data.func])) {
Sub[data.func](This, data);
}
};
//js逻辑代码
Sub.readNum = function(e, data) {
console.log(e)
console.log(e.data('id'))
}
//在这里写入js的逻辑代码 元素绑定 --->以上可以看出 jquery和zepto的data的使用也是有区别的,jquerydata()不传参可以获取一个对象,获取整个一个元素的所有data,但是zepto必须传入相应参数,例如data-id ---》e.data('id'),不传入参数会返回一个字符串
<li data-id=' + e.iSourceId + ' data-type=' + e.content_type + ' data-func="readNum">
如果需要初始化的话---->Sub.init('readNum');
Sub.init();