DWZ中如何整合第三方jQuery插件

jQuery插件通常是$(document).ready()中初始化php

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

 

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

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

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

  • 通常插件初始化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交互,本身写回调函数处理
相关文章
相关标签/搜索