代码之家  ›  专栏  ›  技术社区  ›  Anil Namde

从Ajax响应创建动态用户界面是否困难?

  •  0
  • Anil Namde  · 技术社区  · 14 年前

    使用Ajax的非常常见的场景是解析响应并为最终用户创建用户界面。我仍然是Ajax和UI词汇的新手,我只看到两种选择来使用Ajax(json/xml)响应创建UI,

    1. createElement()继续动态添加/删除元素
    2. 创建大字符串并设置某些元素的innerhtml

    现在我有以下疑问:

    1. 如果还有其他更好的选择,请告诉我?
    2. 如果我想将事件附加到动态创建的元素上,那么更好的方法是什么?我的意思是,在很多情况下,我最终会做一些像

      <input onclick=“someFunction()”/>

    我真的觉得做的不好,会引起问题和头痛。

    谢谢

    2 回复  |  直到 14 年前
        1
  •  0
  •   NM.    14 年前

    我认为这两种方法没有任何问题。但是,从性能角度来看,设置innerhtml更好。 在某些情况下,动态创建元素是唯一的选择,您可能需要查看documentfragment以避免大量回流(同样出于性能原因)。

    ecma指定addEventListener动态地向元素添加监听器。您还需要阅读有关事件冒泡的内容。

        2
  •  0
  •   Koran    14 年前

    尝试使用现有的JavascriptUI框架,比如yui、jquery甚至gwt。 在XHR请求的情况下,这将为您提供真正好的选项和灵活性。 另外,在用户界面框架中学习事件管理可能对你有好处——一旦你有了这个想法,你就可以在没有这些框架的情况下使用它了——参见谷歌的HTML中的事件。