cari

Rumah  >  Soal Jawab  >  teks badan

javascript - easyui tabs 加载页面时使用css初始化easyui的组件失败的问题

举个例子,

<body>
    <input id='text' class='easyui-textbox'>
    <script>
        $(function(){
            $("#text").textbox("setValue","123");
        });
    </script>
</body>

一般这样能成功的为text赋值

但是今天在开发的时候遇到问题了,我使用easyui的tabs,我利用tabs的href的属性来加载B页面
而B页面也有上面这一段的代码。
但是不能成功的为text标签赋值(报错了,报错的意思就是text不是一个textbox),而这个时候发现text标签连easyui-textbox的一些样式都没有加载上去。显然因为js中为text赋值的方法出错了,导致text无法正常渲染,也有可能是因为class和js同时执行,导致css尚未加载完成的时候就执行了赋值的js导致出错了。。。。不知道大家有没有遇到这样的问题,求解答,各位是怎么解决的呢?

迷茫迷茫2794 hari yang lalu689

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-04-10 16:48:47

    你添加上的input 首先作为一个DOM元素添加到DOM树中
    接下来马上就会执行

     $("#text").textbox("setValue","123");

    setValue方法要求easyui的textbox对象存在-之前已经创建完成的,但是在这里是没有这个对象的~~~

    解决方法为
    监听tabs的unload事件,在你指定的panel上完成HTML元素的加载后
    执行textbox对象的创建

    $('#tb').textbox({
        ...
        value:"123"
    })

    balas
    0
  • 黄舟

    黄舟2017-04-10 16:48:47

    js代码要放在body里面,href方式会过滤掉头

    balas
    0
  • Batalbalas