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个回答

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]

[quote]怎么样才能使用插件this呢。 [/quote]
插件的this指的是谁呢?你的代码上可以说明吗?

你的代码已经自己解决了啊

[code="js"]$.portalui.button.prototype={
url:"test",
render:function(){
var _a=this;
var _p=this.path;
_p.click(
function(){
alert(_a.url);//这里如何实现是 test呢
}
);
}
[/code]

你看很多插件
写成这样
var _self = this;

然后
在click里调时就用_self

跟你的变量_a一样的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐