Jquery ui 我能';t从privat方法读取jqueryui小部件工厂选项
我是jQueryUI widget工厂的新手,因此我的问题可能很愚蠢。 我想创建一个ajax工具提示,在这里我可以通过一个选项设置ajax调用的url,但是这个选项在包含ajax调用的_mouseOver方法中是不可读的 在我设置时: $(“.text”).tooltip({url:“某物”}) 有人能帮帮我吗。在这种情况下,\u mouseOver函数的“this”上下文是元素,而不是jquery小部件。这就是为什么你得不到options.url 您可以尝试使用以下代码作为开始:Jquery ui 我能';t从privat方法读取jqueryui小部件工厂选项,jquery-ui,widget,factory,Jquery Ui,Widget,Factory,我是jQueryUI widget工厂的新手,因此我的问题可能很愚蠢。 我想创建一个ajax工具提示,在这里我可以通过一个选项设置ajax调用的url,但是这个选项在包含ajax调用的_mouseOver方法中是不可读的 在我设置时: $(“.text”).tooltip({url:“某物”}) 有人能帮帮我吗。在这种情况下,\u mouseOver函数的“this”上下文是元素,而不是jquery小部件。这就是为什么你得不到options.url 您可以尝试使用以下代码作为开始: _creat
_create: function() {
alert(this.options.url); //it works
this.element.tooltip = this;
this.element.bind({
mouseenter: this._mouseOver
});
},
_mouseOver: function() {
alert(this.tooltip.options.url); //it dosen't works
},
它没有经过测试。在本例中,\u mouseOver函数的“this”上下文是元素,而不是jquery小部件。这就是为什么你得不到options.url
(function ($) {
$.widget("ui.tooltip", {
self: null,
options: {
url: ''
},
_create: function () {
self = this;
self.element.bind({
mouseenter: self._mouseOver
});
},
_mouseOver: function () {
alert(self.options.url); // it should work
}
});
})(jQuery);
您可以尝试使用以下代码作为开始:
_create: function() {
alert(this.options.url); //it works
this.element.tooltip = this;
this.element.bind({
mouseenter: this._mouseOver
});
},
_mouseOver: function() {
alert(this.tooltip.options.url); //it dosen't works
},
它没有经过测试
(function ($) {
$.widget("ui.tooltip", {
self: null,
options: {
url: ''
},
_create: function () {
self = this;
self.element.bind({
mouseenter: self._mouseOver
});
},
_mouseOver: function () {
alert(self.options.url); // it should work
}
});
})(jQuery);
在mouseOver中使用“this”表示事件函数中的当前对象,而不是小部件本身。您应该创建一个变量并将小部件(this)放在上面,以便能够在任何事件或方法中使用它选项。
在jQuery中使用$.each()函数时,您会发现相同的行为
在mouseOver中使用“this”表示事件函数中的当前对象,而不是小部件本身。您应该创建一个变量并将小部件(this)放在上面,以便能够在任何事件或方法中使用它选项。
在jQuery中使用$.each()函数时,您会发现相同的行为。不起作用,但是:that:null,_create:function(){that=this;…}{mouseOver:function(){alert(that.options.url);…不起作用,但是:that:null,_create:function(){that=this;…}{mouseOver:function(){alert(that.options.url)…欢迎使用堆栈溢出!请解释此代码解决问题的原因,而不是仅发布一段代码。没有解释,这不是答案。欢迎使用堆栈溢出!请解释此代码解决问题的原因,而不是仅发布一段代码。没有解释,这不是答案。