javascript - jQuery 插件中的调用方法

标签 javascript jquery delayed-execution

我已经下载了 The Schedule Template来自 Codyhouse - 它是一个 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');
..
..
} 

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

在创建 div 之后,是否有一些方法可以从 JavaScript 调用 SchedulePlan 函数?

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

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

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

但是我得到这个错误:

SchedulePlan is undefined

有什么方法可以调用这个方法吗?

最佳答案

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

所以删除 <script src="main.js"></script>元素,而是在正确的位置添加此代码,以便它在适当的时间执行:

$.getScript("main.js");

关于javascript - jQuery 插件中的调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45961881/

相关文章:

javascript - 使用 angularjs 和 spring 获取

jquery改变图片路径

javascript - 当弹出窗口关闭时,我将如何引发事件(jQuery 或 vanilla Javascript)?

javascript - Rails/javascript 试图隐藏没有特定宽度的图像

java - 服务器处理时间延迟事件

java - 如何在单个方法内延迟而不延迟 java 中的整个程序?

javascript - Div 不透明度不起作用

javascript - Firebase:检查 onWrite 事件的 'write or delete'

jquery - Ajax Heartbeat使用setInterval,防止同时多个调用

javascript - 在选择上使用 jQuery 克隆 HTML DIV