[英]jQuery Plugin return Values through options function
我正在制作自己的jQuery插件(我还在学习!)。 单击某个元素后,插件需要返回值。
它看起来像这样:
$.fn.testPlugin = function(options) {
var defaultOptions = {
values: {
value1: "",
value2: ""
},
onDivNameClick: function() {}
};
options = $.extend(true, defaultOptions, options);
//Do some initializing here
divName.click(function () {
//Do some other plugin stuff on click here
// onClick User Function
if ($.isFunction(options.onDivNameClick)) {
options.onDivNameClick.call(options.values);
}
})
//Other code here.
return this;
}
我初始化插件并传递要执行的命令,但是插件不会通过values
返回我需要的values
而是'undefined'
。
调试向我显示options.values
确实在插件中包含数据,因此我不完全确定这是正确的方法。
$("#elName").testPlugin({
onDivNameClick: function (values) { //values returns 'undefined'
model.value1 = values.value1;
model.value2 = values.value2;
},
option1: "",
//other options
});
onDivNameClick
应该将options.values
传递给options中的函数,但当前不这样做。 我究竟做错了什么?
javascript prototype.call()
方法还需要一个与this
参数有关的参数。
if ($.isFunction(options.onDivNameClick)) {
options.onDivNameClick.call(this, options.values);
}
因此-该函数没有传递任何实际值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.