在jQuery点击事件中,调用存储在单独dojo-js文件中的函数
In a jQuery click event, call a function stored in separate dojo js file
当试图分解JS代码时,我已经将jQuery引导程序点击事件拉到了它们自己的文件中。
所有内容都加载正确,但当试图从jQuery文件引用我的dojo文件中的函数时,最终结果是"zoomToStreams not defined()";
是否有一种适当的方法可以将所有内容分解为易于管理的片段,以实现代码的可重用性,并使不同的库(jQuery、dojo)共存?两者都是通过我文档底部的标签加载的。
// dojo.js
require(["dojo modules",...],function(dojo,...) {
...
function zoomToStream(targetStream) {
...
}
});
// jQuery.js
$(document).ready(function() {
$("#streamSelection li").click(function(e) {
switch (e.target.text) {
case "All Streams":
zoomToStream("all");
break;
case "First Stream";
zoomToStream("1");
break;
...
}
}
});
将您的第一个代码片段转换为一个模块,然后您可以为jquery代码所需。
dojo.js(这不是你给js文件命名的名字,是吗?)
define("zoomToStream",["dojo modules",...], function(dojo,...) {
...
function zoomToStream(targetStream) {
...
}
return zoomToStream;
});
jQuery.js(这不是你给js文件命名的名字,是吗?)
require(["zoomToStream"],function(zoomToStream) {
$(document).ready(function() {
$("#streamSelection li").click(function(e) {
switch (e.target.text) {
case "All Streams":
zoomToStream("all");
break;
case "First Stream";
zoomToStream("1");
break;
...
}
}
});
});
修改以适应您的文件结构等,将这些文件名用于js文件似乎有点奇怪。
相关文章:
- jQueryAjax调用在单独的.js文件中不起作用
- 在 Node.JS 中,如何从单独的.js文件中返回整个对象
- google.setOnLoadCallback()在单独的JS文件中不起作用
- 在单独的js文件中访问web配置
- 通过单独的js文件设置HTML值
- 如何将这个javascript从aspx视图中移出,并放入一个单独的js文件中
- 用jQuery点击一个按钮和一个单独的JS文件,在谷歌地图标记上触发点击事件
- 创建单独的 js 文件进行包含
- 使用单独的.js javascript 文件打印到文档
- 简单高图表用作单独的.js文件,但不在视图中
- Spring 和 Thymeleaf:如何将 javascript 移动到单独的.js文件
- 如何删除脚本并创建单独的js文件
- 与将 Jquery 保存在单独的.js文件中相关的问题
- 在 Rails 中为桌面和移动访问者提供单独的 js 代码
- 是否可以从单独的.js文件向jQuery的对话框添加函数
- 为什么我不能从单独的.js文件中调用任何函数
- 在单独的.js文件中使用谷歌分析的代码是什么
- 如何在 d3.js 中制作单独的.js文件饼图
- 主干.js - 将视图放在单独的 js 文件中
- 在jQuery点击事件中,调用存储在单独dojo-js文件中的函数