日期:2014-05-17  浏览次数:20517 次

我来求思路
我页面上有个按钮,点击触发事件的时候,页面上就要增加一个模块,比如panel控件,当人里面放什么我们暂时不管,请问怎么实现,有思路没。假设我就使用panel控件,里面肯定要放其他控件的,这样的话 如果使用动态生成,代码量有点多,有没有更好的办法

------解决方案--------------------
你点击按钮是会添加一个panel吧,那是点一次就出现一个,还是只会出现一次?
    如果点了按钮只会出现一次的话就没必要做动态添加控件了,先把控件添加进去,然后做控件的隐藏显示会更好些。如果每次点击可能会出现不一样的控件(应该是大体相同,部分有区别),你可以把公共部分直接添加到页面,可能不同的地方用Jquery的添加页面元素的方法添加就可以了。
   如果是点一次添加一个panel,那也可以先做一个样板panel出来做隐藏,然后第一次点击显示,第二次或者以后的可以用Jquery中有个克隆控件的方法,把panel克隆出来放到你要的位置,如果panel里面的元素可能会不一样的话那这个就可以做动态添加了,相信出现有不一样的元素也不会太多,这样就用Jquery中的添加标签元素的方法动态添加了。

  这两种思路是抽离出固定不会变的不用动态添加的相同元素,将整体模块拆分(如panel和里面的元素分开加载),然后根据需求只加载可变动的元素,这样结构,性能和代码可读性应该好很多。