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 一起工作的主要内容,如果未能解决你的问题,请参考以下文章

从 sql 填充微调器并使结果独一无二

IBM Worklight 6.0.0.1 - jQuery 调色板不显示

IBM Worklight 6.0 - 控制 Dojo 层

几种流行的AJAX框架对比:Jquery,Mootools,Dojo,ExtJs,Dwr

IBM Worklight 6.0 - Dojo 库在部署后使用 localhost

IBM Worklight 5.0.6 - 无法添加外部 Dojo 组件(需要 Dojo Dgrid 时出现脚本错误)