我有一个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"> 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文件中,(不在索引中),它不起作用,所以我把它放在索引中,它也不会显示。 (它确实在没有刷新的情况下运行)
答案 0 :(得分:0)
它可能与这些库的加载顺序有关。 您可以使用普通的旧JavaScript来避免这一切,如下所示:
HTML:
<div data-role="content">
<ul id="myListView" data-role="listview">
<li><a href="html/template/data.html" data-transition="slide"> 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选择器将函数附加到每个列表项。