鍍金池/ 問答/HTML/ js插件寫法調(diào)用

js插件寫法調(diào)用



<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<script src="http://cdn.bootcss.com/jquery/1.12.3/jquery.min.js"></script>
</head>
<body>
<button class="layui-btn demo1">測試1</button>
<button class="layui-btn demo2">測試2</button>

<script>


var my = {
  defaults: {
    id: ".fast_pay",
    client_id: '', //連接ID
    sign:"",//簽名
    qr_load:null,
    success: null // 支付成功后調(diào)用
  },
  set: function(options) {
    var that = this;
    that.settings = $.extend({}, that.defaults, options);
    return that;
  },
  int: function(options) {
    var that = this;
    var that = this.set(options);
    settings=that.settings;
    $(document).on("click", settings.id, function() {
      that.shows_qr($(this));
    });
  },
  shows_qr: function(item) {
    var that = this;
    if (typeof settings.success === 'function') {
      settings.success(item);
      return false;
    }
  }
}



my.int({
id:".demo1",
success:function(data){
  alert("demo1");
  console.log("我是demo1的回調(diào)"+data);
}
});

my.int({
  id:".demo2",
  success: function(data) {
      alert("demo2");
    console.log("我是demo2的回調(diào)"+data);
  }
});




</script>
</body>
</html>

為什么老是回調(diào)到 demo2??!

這種寫法應(yīng)該怎么去寫???

點擊按鈕..進行回調(diào)!

回答
編輯回答
互擼娃

你的settings是全局變量,自然只會有一種回調(diào)。

  1. 要把回調(diào)傳給shows_qr
  2. 綁定不同的回調(diào),用樓上的方法、閉包或者字典都行。
2018年6月5日 04:53
編輯回答
懶洋洋
var My = function(options){
    ...
}

var my1 = new My(...)
var my2 = new My(...)
2017年9月23日 22:36