【问题标题】:How to add Jquery Mobile effects to dynamically added elements?如何将 Jquery Mobile 效果添加到动态添加的元素?
【发布时间】:2013-12-06 23:45:21
【问题描述】:

在使用 Jquery Mobile 时,我遇到了一个奇怪的问题。 Jquery Mobile 根据数据角色等向每个元素添加一些默认类和 css。当我创建新元素时,普通 css 会应用于所有新生成的元素,但不是 Jquery Mobile?

html

    <ul data-role="listview" > 
        <li><a href="#">sada</a></li> 
        <li><a href="#">sada</a></li> 
        <li><a href="#">sada</a></li> 
    </ul>
    <a href="#" data-role="button" class="hello" >Add</a>

脚本

$('.hello').click(function(){
      $('ul').append('<li><a href="#">sada</a></li> ');
})

在此处查看 JsFiddle http://jsfiddle.net/sahil20grover1988/zZMXQ/2/。单击按钮将在 LIST 中创建新的 Li 元素 如何将 JQuery Mobile 功能应用于元素

【问题讨论】:

  • 在我看来,jQuery 的一面是在加载文档时应用一些样式,而在添加新项目时不会重新应用。我会看看如何生成你想要的
  • ,除了附加 html 之外,很可能有一个特定的 jQuery Mobile 函数可以做到这一点,它将保留样式

标签: jquery css jquery-mobile


【解决方案1】:

你需要重新加载jquery移动列表样式

添加元素后

试试这个:

$("ul").listview("refresh");

【讨论】:

    【解决方案2】:

    你需要使用jQuery live函数来为新添加的元素绑定新的动作

    $('a').live('click',function(){
         //do something
    })
    

    您可以像这样刷新列表以使列表视图正确, http://jsfiddle.net/zZMXQ/13/

    $("ul").listview("refresh");
    

    【讨论】:

    • 你读过他的问题吗?你看到他的jsfiddle了吗?跟直播没关系
    • 你没有按钮点击事件。
    • @Jayantha 再次检查你的小提琴 - 33 不起作用.....如果我想刷新整个内容块,我已经实现了另外一件事???
    • 它不起作用,因为它无法从小提琴中调用您的 URL。(请参阅 firebug 中的 URL 会发生什么情况)。它应该在你的本地机器上工作。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签