zhans52 2011-08-10 17:59
浏览 241
已采纳

Jquery 插件开发的时候如何传递this

小弟刚接触JQuery不久
在开发插件的时候遇到一个问题,给button添加事件的时候要用this的参数,但是this在click的函数中就是button,怎么样才能使用插件this呢。
代码
[code="java"]
$.portalui.button.prototype={
url:"test",
render:function(){
var _a=this;
var _p=this.path;
_p.click(
function(){
alert(this.url);//这里如何实现是 test呢
}
);
}
[/code]
谢谢

  • 写回答

3条回答 默认 最新

  • suziwen 2011-08-11 09:44
    关注

    jquery的话可以这样试试

    [code="js"]
    function handler(event) {
    alert(event.data.foo);
    }
    $("p").bind("click", {foo: "bar"}, handler)

    $.portalui.button.prototype={
    url:"test",
    render:function(){
    var _a=this;
    var _p=this.path;
    //_p得是jquery包装过的$
    _p.bind("click", {self: _a}, _a.save);
    },
    sava:function(event){console.info(event.data.self)}//我想让这里的this为全局个this而不是单独的button
    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作