data-func的元素绑定方式 jquery和zepto的使用区别

 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();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值