单击页面时不显示功能

时间:2014-07-30 20:46:25

标签: javascript jquery

我有一个Javascript函数,可以在运行时在无序列表中创建一些列表项,但是当调用页面时,onload事件不会运行该函数,并且只有在我刷新页面时它才有效。我尝试在通向页面的锚标记中放置一个onclick函数,但是它也没有运行该函数。我正在使用JQuery mobile的UI来设计样式和D3。我也尝试过来自JQuery的.ready,但这也没有解决问题。

<div data-role="content">
<ul data-role="listview">
<li><a href="html/template/data.html" data-transition="slide">&nbsp;&nbsp;To Data</a></li>
</ul>
</div>

D3功能是:

coolcat: function(){
        var AddedElem = d3.select("#YourData_ul").selectAll("li")
                .data(lines)
                .enter()
                .append("li")
                .attr("class", "ui-field-contain");
        AddedElem.append("label").text(function (d){ return d.itemname;}).attr("class", "information");
        AddedElem.append("input").attr("class", "input-deco");
        console.log("Just ran Coolcat!");

我以前把“Onload”事件放在data.html文件中,(不在索引中),它不起作用,所以我把它放在索引中,它也不会显示。 (它确实在没有刷新的情况下运行)

1 个答案:

答案 0 :(得分:0)

它可能与这些库的加载顺序有关。 您可以使用普通的旧JavaScript来避免这一切,如下所示:

HTML:

<div data-role="content">
    <ul id="myListView" data-role="listview">
    <li><a href="html/template/data.html" data-transition="slide">&nbsp;&nbsp;To Data</a></li>
    </ul>
</div>

JavaScript的:

var list = document.getElementById('myListView');

var listEntry = document.createElement('li');
listEntry.appendChild(document.createTextNode('new list text'));
list.appendChild(listEntry);

我还没有完成其余部分,但是如果你在onload函数上调用这个javascript,它肯定会运行。

您还可以使用标准DOM选择器将函数附加到每个列表项。