嗨,我有一个关于使用 innerHTML 编写 onclick 事件的问题我尝试了两种方法,但都没有工作
它需要调用的函数是
function loadnewsstory()
{
alert("123456");
}
目前它应该显示带有 123456 的警报框,但它没有触发。
加载它的函数如下
function newsstories()
{
document.getElementById("activecontent").innerHTML = "<h1 class='newsheader'>Latest News</h1>";
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST","test.com?uri=loadnews",false);
xmlhttp.send();
var newsreponse = JSON.parse(xmlhttp.responseText);
var countstories = 0;
for (var i = 0, len = newsreponse.length; i < len; ++i) {
var news = newsreponse[i];
if(i % 2 == 0){
cssclass = "even";
}
else
{
cssclass = "odd";
}
// alert(news.featured_image);
document.getElementById("activecontent").innerHTML += "<div class='news " + cssclass + "'><div class='newstitle'><div class='newstitlecolor'><a href='#' onclick='loadnewsstory();'>" + news.post_title + "</a></div></div><div class='base' style='background: url('" + news.featured_image + "');'><img src='" + news.featured_image + "' style='width:100%; height:100%;' id='news_"+ countstories +"'/></div></div>";
document.getElementById("news_"+countstories).onclick = function(){ loadnewsstory();}
countstories++;
}
}
正如你所看到的,我也跑了document.getElementById("news_"+countstories).onclick = function(){ loadnewsstory();}
,因为我读到 onclick 事件不能由我知道我以前能够做到的 javascript innerHTML 编写。如果其他人知道此问题的解决方法,那就太好了。这是一个科尔多瓦 iPhone 应用程序
谢谢
编辑
我发现这
document.getElementById("activecontent").innerHTML += "<div class='news " + cssclass + "'><a href='javascript:openextlink();'><img src='" + news.featured_image + "' style='width:100%; height:100%;'/></a></div>";
有效,但它似乎只适用于最后一个新闻故事,我是否遗漏了什么。