好了,想着这对于多一点的时间后,我意识到,插件功能的默认功能是它返回JQuery的链条问题(道歉,下面通过一些打字稿):
我原本有:
function Plugin(option, args) {
return this.each(function() {
var $this = $(this);
var data = $this.data('xyz.wizard');
var options = $.extend(option, Wizard.DEFAULTS) as WizardOptions;
if (!data) {
data = new Wizard(this, options);
$this.data('xyz.wizard', data);
}
if (typeof option === 'string') return data[option](args);
});
}
,然后在顶部增加了一个新的部分:
function Plugin(option, args) {
// New Part - If option is a string, then call the named method and return the result
if (typeof option === 'string') {
var data = $(this).data('xyz.wizard');
if(data) {
return data[option](args);
}
}
// Otherwise do the default
return this.each(function() {
var $this = $(this);
var data = $this.data('xyz.wizard');
var options = $.extend(option, Wizard.DEFAULTS) as WizardOptions;
if (!data) {
data = new Wizard(this, options);
$this.data('xyz.wizard', data);
}
// if (typeof option === 'string') return data[option](args);
});
}
它似乎工作,但我不知道这是否是CORRE ct方法。
给出一些详细的代码是当前页面变量和getactivepage定义 –