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条)

报告相同问题?