IBM 表单设计器并使 jQuery 与 Dojo 一起工作
Posted
技术标签:
【中文标题】IBM 表单设计器并使 jQuery 与 Dojo 一起工作【英文标题】:IBM forms designer and making jQuery work with Dojo 【发布时间】:2014-07-22 20:09:20 【问题描述】:我有以下代码:
var dojoConfig =
baseUrl: "./",
async: true,
isDebug: true,
parseOnLoad: false,
packages: [
name: "jQuery", location: "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js", main: "jQuery",
]
;
代码加载没有问题,但是一旦我在点击按钮上执行此操作:
$(this).value();
它给出了错误:
在 item , page 上执行 onClick 事件代码时出错 欢迎,表格 1。 原因:错误:非法引用$
我需要做些什么才能让两者都在表单上工作?我需要以某种方式调用 jquery 吗?
【问题讨论】:
您的 console.log 是什么样的?你可能需要坚持下去 控制台显示 “在项目 页面 Welcome 上执行 onClick 事件代码时出错, form Form 1。 原因:错误:非法引用$" 遇到$
冲突使用:jQuery.noConflict
@charlietfl 但是我会把它放在上面的代码中的什么地方呢?我无权访问 IBM Forms Designer 中的原始 html 代码。
我会查看浏览器的控制台,看看是否有任何跨域问题。您可能会看到两个链接 ibm.com/developerworks/community/blogs/… 和 ***.com/questions/2850314/…
【参考方案1】:
用这个替换你的 Dojo 配置:
var dojoConfig =
async: true,
isDebug: true,
parseOnLoad: false,
packages: [
name: "jQuery",
location: "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0",
main: "jquery.min"
]
;
如果我们定义一个名为 jQuery 的模块(由于 name
属性)位于 http://ajax.googleapis.com/ajax/libs/jquery/1.11.0
会发生什么。
如果我们然后使用:
require([ "jQuery" ], function()
);
它将加载 jQuery 模块的主文件,在本例中为 jquery.min
。它会在给定的位置寻找它,所以你会得到:
http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
这应该可以正常工作,虽然我不认为.value()
函数是一个合适的函数。好吧,你可以在这个 Plunker 上看到它的工作原理:http://plnkr.co/edit/IE9y3cId6IHQfMKnyOtj?p=preview
【讨论】:
以上是关于IBM 表单设计器并使 jQuery 与 Dojo 一起工作的主要内容,如果未能解决你的问题,请参考以下文章
IBM Worklight 6.0.0.1 - jQuery 调色板不显示
几种流行的AJAX框架对比:Jquery,Mootools,Dojo,ExtJs,Dwr