问题描述:
validatebox处于一个layout的center中,布局是从body开始的,我在body上加了class="easyui-layout"当center区域在页面的最右边,被校验的validatebox在center区域的最右边时,悬浮的校验信息显示不全,body因为布局渲染的关系,body的滚动条被隐藏起来了。
常用解决方案:
1、把body的滚动条显示出来
   随之带来的问题:当拖动滚动条去看悬浮文字时,整个页面会来回的闪动,这个可以自己试一下
2、在body内部多建立一层div来布局,在这个div上加class="easyui-layout",这样body的滚动条就不会被隐藏,也不会出现页面闪动
   随之带来的问题:这个div需要定高定宽,否则不显示,这个jquery easyui用的熟的人应该知道,这是我不希望见到的,因为我的本意就是要在整个body上布局,而不是body中的一块区域,我知道可以在布局前获取高度与宽度,赋值给div,但这样整个布局的大小依赖于页面刚打开,后面不会再自适应,用户体验不太好。
3、validatebox一般都是出现在编辑区,将编辑区的右边留白,专门显示校验的悬浮文字
   随之带来的问题:其实这样很丑,而且留白的大小也不好控制,我并不知道悬浮文字都在多长以内
想问用过jquery easyui的高手,有没有更好的办法,比如控制校验信息悬浮文字的位置,或者是换一种展示方式?甚至是改源码,只要你们改成功过,希望不吝赐教,不知道我描述的是否清楚。静静的,静静的……等待高手的出现。

解决方案 »

  1.   

    不是我刻意改变页面大小遮住的,那个层的位置控制是jquery easyui自己控制的,没提供任何接口来控制,除非动源码,这个比较难
      

  2.   

    我的做法是适当把所有输入框向左移一点,留点空给它提示。当然多的隐藏它也不显示滚动条。至于样式还可以改改,不让出来对不起的样子。
    .validatebox-tip-content{
    display:inline-block;
    position:absolute;white-space:nowrap;
    top:1px;
    left:10px;
    /*padding:3px 5px 0 5px;*/
    padding: 0 3px;
    height: 17px;
    line-height: 16px;/*firefox*/
    line-height: 18px\9;/*IE*/

    border:1px solid #CC9933;
    background:#FFFFCC;
    z-index:9900001;
    font-size:12px;
    }
    所有提示是在尾部,这很难改,总不能自己去判断够不够长,而且提示还有一个小箭头,改起来很麻烦。
      

  3.   

    我的处理方式是替换的easyui的tip提示。换成了poshytipe,这个的优点是会适应周围的空间使提示框全部显示出来。篇幅小说不清楚。我也是看了篇博文。不过找不到了,不好意思。实在需要了,邮件我:[email protected]