【发布时间】:2025-12-12 03:05:01
【问题描述】:
我是 JavaScript 中 OOP 的初学者。我尝试了几件事,但很明显我不懂代码。 这是我的问题: 我有一个显示日历的插件 - glDataPicker。它在输入标签上初始化,如下所示:
$('#my_input_id').glDatePicker();//parameters may be passed
- 所以我假设在将脚本部署到我的站点后
glDatePicker.min.jsDOM 中的输入得到了新方法 glDatePicker?我在吗?
然后它定义了hide 和show 方法:
// Public methods
glDatePicker.prototype =
{
show: function() {
// Hide others and show this calendar
$.each($('.gldp-el').not(this.el), function(i, o) {
if(o.length) { o.options.onHide(o.calendar) ; }
});
// Show this calendar
this.options.onShow(this.calendar);
},
hide: function() {
if(this.options && !this.options.showAlways) {
this.options.onHide(this.calendar);
}
},
所以我的问题是如何从插件代码之外调用方法“隐藏”? 我试过了:
$('#my_input_id').glDatePicker().calendar.hide()
-> 无法读取 undefined(…) 的属性“隐藏”
等等,但我无法隐藏日历。我怎样才能从全局上下文中得到这个方法?
【问题讨论】:
-
有一个选项叫'showAlways',设置为false
-
它已经设置为 false,我需要在某些事件上从主脚本调用
hide,但无论如何谢谢
标签: javascript oop object jquery-plugins properties