RequireJS 加载 easyui
requireJS 可以让js加载起来比较优雅,像java里import一样。有了这个,我们可以创建自己的 js控件库,在需要时,页面中只引入 requireJS,然后通过代码方式引入需要用到的控件,比较方便。但RequireJS 引入 EasyUI 会遇到问题,原因是EasyUI 的代码编写没有考虑到文件将通过什么方式被加载,如果是通过<script src="..."></script> 方式,那么倒没有问题,但通过document.write 等方式动态加载时,就不行,原因是 EasyUI 代码的渲染代码写在了头部,各种定义部分写在了尾部,导致还没定义就先渲染,于是不会有效果。因为渲染部分是在document的ready事件中($(function(){$.parser.parse();}))完成的,所以使用<script>方式加载就不会有问题。
原因已经发现,那么如何解决呢,修改EAsyui的代码通常是不合情理的。我的方案是再次渲染。在自己的代码中加入定时器,定时扫描是否允许渲染,如允许,则执行渲染呢。
Js代码 收藏代码
(function(){
var _9203 = setInterval(parse,);
function parse(){
if($.parser && $.fn.slider && !window.renderedFlag){
clearInterval(_9203);
$.parser.parse();
window.renderedFlag = true;
}
}
})();
$.fn.slider是easyui 最后定义的控件,如果slider都定义好了,那么其它也都定义好了,那么既可以开始渲染了。加上renderedFlag 标记是为了防止在不同控件代码文件中发起多次渲染。由此此段代码可以防止到自己的多个依赖easyui的控件中。
RequireJS 加载 easyui的更多相关文章
- RequireJs加载Codemirror,配合AngularJS的坑
requireJS加载codemirror,并且配合angularJs一起使用的时候,高亮显示代码编辑器.要注意以下几点: 1:普通Js加载CodeMirror 代码如下: <!DOCTYPE ...
- requireJS 加载css、less文件
-- requireJS 同样可以加载css 文件,有require-css的插件,只需要把插件放入main.js同文件夹,在依赖处 采用 ‘css! test.css’的形式就可以加载css文件 - ...
- 47.使用 RequireJS 加载 AngularJS
转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS 目前的版本没有遵循 Javascript 约定的 AMD 模块化规范, 因此使用 Requ ...
- Requirejs加载超时问题的一个解决方法:设置waitSeconds=0
有时Requirejs会遇到加载js超时问题 除了排查js脚本问题,网络问题以外的一个解决方法是加大Require的等待时间waitSeconds,或者直接设置为0,这个参数的意义是:The numb ...
- requirejs加载css样式表
1. 在 https://github.com/guybedford/require-css 下载到require-css包 2. 把css.js或者css.min.js复制到项目的js目录下 3. ...
- RequireJS加载ArcGIS API for JavaScript
1.在main.js中配置ArcGIS API for JavaScript require.config({ paths : { //arcgisJS "esri": " ...
- requirejs 加载其它js
基本代码: require.config({ // baseUrl : '/js/' paths: { jquery: '/js/jquery-1.11.3.min', validate: '/js/ ...
- RequireJS 加载 js 执行顺序
初次接触RequireJS 对文档理解不很透彻,自己通过测试测到的执行顺序: 文档结构: |-amaze | -js | -amazeui.js | -jquery.min.js | -main.js ...
- 使用requireJS加载不符合AMD规范的js文件:shim的使用方式和实现原理
原文链接: http://www.bubuko.com/infodetail-671521.html
随机推荐
- RecyclerView使用
步骤: 1:首先导入V7依赖包 2:在布局中引用RecyclerView 3:在activity中查找控件 4:继承RecyclerView.Adapter,实现它的3个方法, (1):加载布局的on ...
- CocoaPods 抛出[!] Unable to satisfy the following requirements: 错误
今天使用CocoaPods管理ReactiveCocoa,抛出以下错误 [!] Unable to satisfy the following requirements: - `ReactiveCoc ...
- 如何让Notepad++添加Python运行方式.精讲
原文来自金石开的文章,欲知详情请点击他昵称. 名为cncyber的博友,在此感谢他. 全部省略.正确命令是在原文的回复里,在此复制贴上: cmd /k cd /d "$(CURRENT_DI ...
- close-vs-shutdown-socke
http://stackoverflow.com/questions/4160347/close-vs-shutdown-socket http://blog.csdn.net/jnu_simba/a ...
- Servlet访问第一次500,刷新后404的解决办法
第一次运行错误:HTTP Status 500 - --------------------------------------------type Exception reportmessage ...
- java1234教程系列笔记 S1 Java SE 0101 HelloWorld
本节分为三讲.java概览,第二节讲了安装jdk 配置环境变量 第三节讲了经典的hello world 1.新建一个txt文本 public class chapter0102{ public sta ...
- winform 异步添加文本提示
后台代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...
- 认识UML类图元素
在Visio里,包和类的关系是包含关系,将类拖入包的文件夹之后,关系就建立了,二元关联符号可以设置为:聚合.合成.接口:空心圆+直线(唐老鸭类实现了‘讲人话’):依赖:虚线+箭头(动物和空气的关系): ...
- 【学】jQuery的源码思路3——添加事件及其他
这段添加的方法有: 各类事件函数 css() addEvent() toggle() //添加各种事件,将常用的事件名称放入数组,然后循环着加入到zQuery对象的原型上 var eventArr = ...
- dingding post POST请求
POST请求请在HTTP Header中设置 Content-Type:application/json,否则接口调用失败 获取AccessToken Https请求方式: GET https://o ...