APPCan 深入解析 switchBtn

(1):switch on

<div class="switch uba bc-border bc-head" data-checked="true">
  <div class="switch-btn sc-bg-active "></div>
</div>


(2):switch off 

<div class="switch uba bc-border" data-checked="false">
  <div class="switch-btn sc-bg-active "></div>
</div>



自己写的JS方法 


        var tag=true;
        $(".switch").on('click',function(){
             var obj=$(this);
             "false" == obj.attr("data-checked") ? obj.addClass("bc-head") : obj.removeClass("bc-head");
             if(tag){
                 obj.attr("data-checked","true");
                 tag=false;
             }
             else{
                 obj.attr("data-checked","false");
                  tag=true;
             }
            
        });


新发现:

tap,onclick,ontouchstart,onmousedown,ontouchend,onmouseup,onclick,ontouchstart,onmousedown,omouseup,


 function m(a, b) {
            var c = window.event.currentTarget || window.event.srcElement,
                e = window.event.type,
                f = "ontouchstart" in window,
                g = d(c),
                h = g.data("inline_event_data");
            h || (h = {}, h.clickFun = g.attr("onclick"), h.startFun = g.attr("ontouchstart") || g.attr("onmousedown"), h.endFun = g.attr("ontouchend") || g.attr("onmouseup"), h.startClassName = a, h.startCallFun = b, h.endClassName = h.startClassName, h.endCallFun = h.startCallFun, g.data("inline_event_data", h), g.attr("onclick", ""), g.attr("ontouchstart", ""), g.attr("onmousedown", ""), g.attr("ontouchend", ""), g.attr("onmouseup", ""), f ? (g.on("touchstart", function () {
                    h.startClassName && d(this).addClass(h.startClassName)
                }), g.on("touchend", function () {
                    h.endClassName && d(this).removeClass(h.endClassName)
                }), g.on("touchcancel", function () {
                    h.endClassName && d(this).removeClass(h.endClassName)
                }), g.on("tap", function () {
                    appcan.isFunction(h.startCallFun) && h.startCallFun.apply(this, [].slice.call(arguments));
                    var a = new Function(h.clickFun);
                    a()
                })) : (g.on("mousedown", function () {
                    if (h.startClassName) {
                        var a = this;
                        d(this).addClass(h.startClassName),
                        setTimeout(function () {
                            d(a).removeClass(h.endClassName)
                        }, 300)
                    }
                }), g.on("mouseup", function () {
                    h.endClassName && d(this).removeClass(h.endClassName)
                }), g.on("click", function () {
                    appcan.isFunction(h.startCallFun) && h.startCallFun.apply(this, [].slice.call(arguments));
                    var a = new Function(h.clickFun);
                    a()
                })), g.addClass(h.startClassName), g.on("webkitTransitionEnd", function () {}))
        }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值