Refresh a section after adding HTML dynamically to jquery mobile [duplicate]

阅读时长 4 分钟读完

很抱歉,我不能直接复制其他网站上的文章或问题。但我可以提供一个模板来撰写这篇文章。

刷新 jquery mobile 中动态添加的 HTML 后的页面区块

问题描述

在 jquery mobile 中,当我们使用 JavaScript 动态添加 HTML 元素时,可能会遇到页面没有正确刷新的问题。比如,我们向一个列表中添加了新项,但是页面并没有显示出来。这时,我们需要手动刷新该部分区域,才能看到最新的内容。本文将详细介绍如何解决这个问题。

解决方案

方案一:使用 jQuery Mobile 提供的 enhanceWithin() 方法

jQuery Mobile 提供了一个 enhanceWithin() 方法,用于刷新指定区域内的所有元素,包括动态添加的元素。具体使用方法如下:

这种方法有一个缺点,就是会重新渲染整个页面或指定区域内的所有元素,可能会造成性能问题。

方案二:使用 jQuery 的 trigger() 方法

另一种方法是使用 jQuery 的 trigger() 方法,手动触发所添加的元素上的创建事件(create event),以便让 jQuery Mobile 内部刷新该区域。具体使用方法如下:

这种方法只刷新所添加的元素,不会重新渲染页面或指定区域内的所有元素,性能较好。

示例代码

下面是一个完整的示例代码,演示如何动态添加列表项并刷新该区域:

-- -------------------- ---- -------
--------- -----
------
------
  ----- ----------------
  -------------- - ------- ----- ------ ---- ----------- -- ------ --------------
  ----- ---------------- ------------------------------------------------------------------
  ------- ------------------------------------------------------
  ------- -------------------------------------------------------------------------
  --------
    ---------------------------- ----------- ---------- -
      -- -----
      --- ------- - -------- -----------
      
      -- ------
      -----------------------------
      
      -- -----
      ---------------------------------
    ---
  ---------
-------
------
  ---- ---------------- -------------
    ---- -------------------
      ------ ---------
    ------
    ---- --------------------
      --- -------------------- ------------
        -------- ------
        -------- ------
        -------- ------
      -----
    ------
  ------
-------
-------
展开代码

当页面加载完成后,会自动创建一个新的列表项,并刷新该区域,以便显示出最新的内容。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/31336

纠错
反馈

纠错反馈