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

发布于 2022-09-02 00:12:01 字数 547 浏览 11 评论 0

举个例子,

<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导致出错了。。。。不知道大家有没有遇到这样的问题,求解答,各位是怎么解决的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

帥小哥 2022-09-09 00:12:01

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

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

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

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

$('#tb').textbox({
    ...
    value:"123"
})
蹲墙角沉默 2022-09-09 00:12:01

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文