在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 關(guān)于插件的寫法,跟this的指向

關(guān)于插件的寫法,跟this的指向

    var pay={
     int:function(options){
       var that = this;
       var settings = {
         id:".news a",
         yes:""
       };
      settings = $.extend(true, {}, settings, options);
       var elem = $(settings.id);
        elem.on("click",function(){
        $.ajax({
          type: "POST",
          dataType: "json",
          url:"",
          success: function(res) {
            if (typeof settings.yes === 'function') {
              //支付成功后返回
              settings.yes(data);
              return;
            }
          }

        })

       });

     }};
pay.int({
id:".news a",
yes:function(data){
  alert("回調(diào)成功");
  console.log(data);
}
});

第一個(gè)問(wèn)題

為什么A標(biāo)簽點(diǎn)擊后,會(huì)執(zhí)行兩次alert,不是應(yīng)該等ajax完成后才alert? 點(diǎn)擊后立即就執(zhí)行alert ajax完成后又alert一次

第二個(gè)問(wèn)題..


pay.int({
id:".news a",
yes:function(data){
  alert("回調(diào)成功");
  console.log(data);
}
});

settings = $.extend(true, {}, settings, options);
var elem = $(settings.id);

elem.on("click",function(){
這里的this 指向的是 news下面的A標(biāo)簽
})


$(document).on("click",elem,function(){
為什么這么寫,this就指向了全局,怎么指向到id:".news a", 這個(gè)對(duì)象上
}); 

第三個(gè)問(wèn)題..

有沒(méi)有更好的寫法...

下面是測(cè)試連接,綁定點(diǎn)擊時(shí)間后獲取不到title this指向是全局
http://sandbox.runjs.cn/show/...

回答
編輯回答
舊顏

1.有兩次alert,我覺(jué)得應(yīng)該是你的代碼執(zhí)行了兩次,如果你的init重復(fù)執(zhí)行是會(huì)在element上重復(fù)綁定事件的
2.第二個(gè)問(wèn)題,你的寫法不對(duì),第二個(gè)參數(shù)是個(gè)選擇器,而不是個(gè)元素

clipboard.png

clipboard.png

2017年7月28日 00:12