zoukankan      html  css  js  c++  java
  • EasyUI这个框架用了好久了,总结一下遇到的问题和解决方法

    1. jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染问题的解决方法:

    我们之所以在页面中,只要书写相应easyui的class,Easyui就能成功渲染页面,这是因为解析器在默认情况下,parser会在文档装载完成的时候($(document).ready)被调用一次,而且是渲染整个页面。

    然而当页面装载完后,如果用javascript生成的DOM中包含了Easyui支持控件的class,比如说,用javascript生成了以下代码:

    <a id="tt" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">easyui</a>

     虽然页面上有这样的DOM了,但是没有被渲染为Easyui的linkbutton插件,原因是Easyui并不会一直监听页面,所以不会主动渲染,这时候就需要手工调用Easyui的parser进行解析了。

    手工调用需要注意以下几点:

    解析目标为指定DOM的所有子孙元素,不包含这个DOM自身:

    比如上面代码生成的HTML,id="tt"是我们想要的LinkButton,像下面代码去手工解析的话是得不到你想要的结果的:

     $.parser.parse($('#tt'));

    道理很简单,parser只渲染tt的子孙元素,并不包括tt自身,而它的子孙元素并不包含任何Easyui支持的控件class,所以这个地方就得不到你想要的效果了,应该这样写:

     $.parser.parse($('#tt').parent());

    渲染tt的父节点的所有子孙元素就可以了,不管你的javascript输出什么DOM,直接渲染其父节点就可以保证页面能被正确解析。

    2. 解决EasyUI窗体阻止Asp.Net控件事件代码:

    原因是窗体内的控件不在form表单中了,无法渲染为Asp.Net控件,所以我们要手动给这个id='dialog'的窗体放到form表单中

    $('#dialog').parent().appendTo($("form:first"))

    3. 如何让EasyUI弹出窗体跳出框架(原网址:原文链接):

    只要在最外面的框架页面加个div,然后用parent.div的id就可以的。但是必须得弹出框得是一个页面(iframe指向的新页面)。

    //父页面代码
    
    <div id="div_info"></div>
    
     
    
     //子页面代码
    
    //外层弹出框1
    function openFirstWin(url, title, width, height) {
    var strWidth;
    var strHeight;
    if (width == null)
    strWidth = 800;
    else
    strWidth = width;
    if (height == null)
    strHeight = 500;
    else
    strHeight = height;
    if (url != null) {
    //var content = '<iframe name="first" scrolling="auto" frameborder="0" src="' + url + '" style="100%;height:100%;"></iframe>';
    var content = createIFrame(url);
    parent.$('#div_info').window({
    close: false,
    modal: true,
    draggable: false,
    title: title,
    animate: true,
    content: content,
    minimizable: false,
     strWidth,
    height: strHeight,
    top: (parent.$(parent.window).height() - height) * 0.5,
    left: (parent.$(window).width() + 200 - strWidth) * 0.5
    });
    }
    return false;
    }
    
     
  • 相关阅读:
    使用Acctinfo.dll了解更多AD用户帐号信息
    vue elementUI之Form表单 验证
    vue element-ui 表格筛选,点击筛选数据
    使用Bootstrap + Vue.js实现 添加删除数据
    CSS3过渡效果 兼容IE6、IE7、IE8
    使用Ajax、json实现京东购物车结算界面的数据交互
    JavaScript面向对象,闭包内存图,闭包和作用域
    实现一个宽和高都是100像素的div可以用鼠标拖拽移动的效果
    JavaScript鼠标事件,点击鼠标右键,弹出div
    javascript sort排序
  • 原文地址:https://www.cnblogs.com/y20091212/p/EasyUI.html
Copyright © 2011-2022 走看看