我阅读了很多关于如何在 jquery mobile 中动态添加内容的内容,但我不知道如何添加链接。

目前我的解决方案是这样的:

  • 添加一个新页面 - id (id="list-1")
  • 为其创建链接 (href="#list-1")

  • 此解决方案在静态页面中完美运行,但我想动态地进行。我用 page() 和类似的东西尝试了很多,但没有任何帮助。

    我的问题是:
  • 如何添加动态链接和页面?
  • 我是否选择了使用 ids 和 anchor (#list-1) 作为链接的正确方法,还是有其他适用于 jquery mobile 的解决方案?

  • 如果您需要更多信息,请与我们联系

    最佳答案

    要添加动态链接,我发现最简单的方法是让事件监听器等待点击这些链接。然后,此事件监听器会保存您要传递到您正在访问的下一个页面的任何参数。您只需在每个“li”元素中指定参数,即可将参数从列表元素传递到事件监听器。

    (create the HTML for a list dynamically & store it into list-1-html)
    $("div#my-page div[data-role=content]").html(list-1-html);
    $("div.list-1 ul").listview();
    $("div.list-1 ul").listview('refresh');
    

    然后你的事件监听器看起来像:
    $('#my-page').delegate('li', 'click', function() {
        passedParameter = $(this).get(0).getAttribute('passed-parameter');
    });
    

    当 jQuery Mobile 加载您的下一个页面时,您可能希望动态加载该页面,并且您可以使用这个 passedParameter 变量。要动态加载页面,只需添加一个等待 JQM 尝试加载页面的监听器:
    $('[data-role=page]').live('pageshow',function(e, ui){
        page_name = e.target.id;
        if (page_name == 'my-page-2'){
            (do something with passedParameter)
        }
    });
    

    这是我与 jQuery Mobile 一起使用的工作流程,它一直工作得很好。不过,我猜测在 future 的版本中,它们会为将动态参数传递给页面提供某种支持。

    关于dynamic - 将动态链接添加到 jQuery Mobile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5366484/

    10-16 04:19