zoukankan      html  css  js  c++  java
  • DWZ中如何整合第三方jQuery插件 DWZ富客户端

    jQuery插件一般是$(document).ready()中初始化

    $(document).ready(function(){
    // 文档就绪,初始化jQuery插件
    });
    // 或者或缩写形式
    $(function(){
    // 文档就绪,初始化jQuery插件
    });



    因为DWZ RIA是富客户端思路,第一次打开时加载界面到浏览器端,之后和服务器的交互是存数据交互,不占用界面相关的网络流量。
    也就是说,只需要在一个完整的页面(通常是起始页,如index.aspx/index.php/index.jsp等),只有这个页面包含完整的html结构(<head><body>),<head>中引入全部css、js 。其它的页面只需要页面碎片,就是<body></body>中的部分。

    因为ajax加载基本原理是:ajax加载一段html代码片段放到当前页面的某个容器中(通常是一个div)。当然也可以是xml结构、json结构,只是在插入到当前页面之前也要转化成html代码片段。如果你ajax加载一个完整的页面(就是包括<head><body>标签的),插入的当前document就有问题了,因为一个document不可能有多个<head><body>标签。


    理解了富客户端思路也就明白了为什么DWZ框架中整合第三方jQuery插件不能在<head>中通过$(document).ready()初始化。
    DWZ初始化ajax加载的页面中的第三方jQuery组件:

    • 一般插件初始化dwz.ui.js 中的initUI 里面处理,initUI()方法DWZ框架封装的$.fn.loadUrl()自动调用。如果是jQuery原生load方法需要手动调用$.fn.initUI()插件。主意initUI()中初始化是要注意作用域,里面有一个$p代表当前ajax加载的容器,只要初始化当前容器新加载的内容就可以了
      if ($.fn.ajaxTodo) $("a[target=ajaxTodo]", $p).ajaxTodo();
      if ($.fn.dwzExport) $("a[target=dwzExport]", $p).dwzExport();
    • 如果一些特殊的ajax交互,自己写回调函数处理
  • 相关阅读:
    no match for call to ‘(std::__cxx11::string {aka std::__cxx11::basic_string
    一转眼,已四年
    线程或进程绑定到特定的cpu
    微信好友信息统计-图、词云和热图
    微信聊天机器人-存储好友分享消息
    Qt之加减乘除四则运算-支持负数
    windows粘贴板操作-自己的应用和windows右键互动
    Qt之QDomDocument操作xml文件-模拟ini文件存储
    Qt之表格控件蚂蚁线
    Qt之移动硬盘热插拔监控
  • 原文地址:https://www.cnblogs.com/dwzjs/p/2217352.html
Copyright © 2011-2022 走看看