在jQuery插件中调用方法

时间:2017-08-30 13:32:33

标签: javascript jquery delayed-execution

我从Codyhouse下载了The Schedule Template - 这是一个jQuery插件(和CSS),可以在div上创建日历时间表。

jQuery插件自动运行,因为.js文件(main.js)中的所有代码都放在document.ready函数中:

jQuery(document).ready(function($){
..
..  function SchedulePlan( element ) {
        this.element = element;
        this.timeline = this.element.find('.timeline');
..
..
} 

问题是当div触发时,我正在尝试应用Schedule模板的document.ready元素未创建(通过JavaScript动态创建)。

在创建SchedulePlan之后,有没有办法从JavaScript调用div函数?

#calendarDetaildiv。我尝试了一些语法,例如:

$("#calendarDetail").SchedulePlan($('#calendarDetail'));

$().SchedulePlan($('#calendarDetail'));

但是我收到了这个错误:

  

SchedulePlan未定义

有没有办法调用此方法?

1 个答案:

答案 0 :(得分:1)

插件没有公开执行此操作的方法,因此我建议延迟加载插件,直到您拥有在DOM中加载cd-schedule类的所有元素。

因此,请删除您拥有的<script src="main.js"></script>元素,然后将此代码添加到正确的位置,以便在适当的时间执行:

$.getScript("main.js");