首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript动态添加Metro JS瓦片

使用Javascript动态添加Metro JS瓦片
EN

Stack Overflow用户
提问于 2013-11-28 08:28:41
回答 1查看 1.4K关注 0票数 0

我有一个博客,我正在使用metro js。

My blog

Metro JS

我试图把一个按钮在页面的底部,将加载5个帖子在同一时间。

在我尝试动态加载Metro.js tiles之前,一切都很顺利。

下面的javascript函数只是一个演示。我计划做一个ajax调用,但我甚至还不能让演示程序工作。

启动时加载的内容

代码语言:javascript
复制
<div  class="tiles">
  <div id="id#" class="live-tile four-wide" data-mode="none" data-bounce="true">
    <div style="background-color:orange;">
     <table><tr><td><img src="textsym.png" width="50"/></td>
       <td><h1>title</h1></td></tr> 
     </table>
   </div>
 </div>
</div>

这就是我尝试过的

代码语言:javascript
复制
 function loadmore() {
            var tiles = document.getElementById("tiles").innerHTML;

            tiles = tiles + "<div class=\"tiles\"><div id=\"\" class=\"live-tile four-wide\" data-mode=\"none\" data-bounce=\"true\"><div style=\"background-color:orange;\"><table><tr><td><img src=\"textsym.png\" width=\"50\"/></td><td><h1>title</h1></td></tr> </table></div></div>";
            document.getElementById("tiles").innerHTML = tiles;
        }

问题是,它正在添加磁贴,但它没有像其他磁贴一样使其可点击。我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2013-11-28 11:48:03

所以这个问题的答案很简单

JS文件需要被告知页面上有新元素。

最初加载页面时,根据metro js文档,您可以运行此JQuery函数。

代码语言:javascript
复制
$(".live-tile").liveTile({
    click: function ($tile, tileData) {
        var id = $tile.attr("id");
        window.location = "postpage.php?name=" + id;
        return false; // or return true; 
    }
});

据我所知,这个类是如何将live-tile绑定到我这里的click处理程序的。postpage.php...

所以我所做的就是将这个JQuery调用添加到上面的按钮单击函数中。这将刷新页面并使一切正常工作。

代码语言:javascript
复制
function loadmore() {
      var tiles = document.getElementById("tiles").innerHTML;

        tiles = tiles + "<div class=\"tiles\"><div id=\"\" class=\"live-tile four-wide\" data-mode=\"none\" data-bounce=\"true\"><div style=\"background-color:orange;\"><table><tr><td><img src=\"textsym.png\" width=\"50\"/></td><td><h1>title</h1></td></tr> </table></div></div>";
        document.getElementById("tiles").innerHTML = tiles;

        $(".live-tile").liveTile({
            click: function ($tile, tileData) {
                var id = $tile.attr("id");
                window.location = "postpage.php?name=" + id;
                return false; // or return true; 
            }
        });

        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20255680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档