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è)問題為什么A標(biāo)簽點(diǎn)擊后,會(huì)執(zhí)行兩次alert,不是應(yīng)該等ajax完成后才alert? 點(diǎn)擊后立即就執(zhí)行alert ajax完成后又alert一次第二個(gè)問題..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è)問題..有沒有更好的寫法...下面是測(cè)試連接,綁定點(diǎn)擊時(shí)間后獲取不到title this指向是全局http://sandbox.runjs.cn/show/...
關(guān)于插件的寫法,跟this的指向
慕容3067478
2019-03-12 13:15:41