我会使用DOM来追加孩子,然后添加classnames和事件处理程序给这些孩子。
这里是一个多浏览器功能我用
function addEventHandler(obj,eventName,handler){
if (document.addEventListener){
obj.addEventListener(eventName,handler,false);
} else if (document.attachEvent){
obj.attachEvent("on"+eventName,handler);
}
}
creat an array for tyhe bew elementsa and divs;
var elements = new Array();
var newDivsShort = new Array();
var newDivsLong = new Array();
then in your for loop you can,
for (var i = 0 ; i<=history.length; i++)
{
newDivsShort[i] = document.createElement('div');
newDivsLong[i] = document.createElement('div');
elements[i] = document.createElement('li');
newDivsShort[i].className = "short";
newDivsLong[i].className = "long";
elements[i].appendChild(newDivsShort[i]);
elements[i].appendChild(newDivsLong[i]);
addEventHandler(elements[i],click,copyShortURL(history[i].shortURL));
}
您可能需要使用类似超时功能的格式传递一个paramater。
你的意思是不工作?这些项目没有被显示?你确定'历史'数组已填充? – 2010-01-01 12:40:25
如果我提醒'history' json数组 - 它有4个[object object]'s出现,这是正确的,因为有4个项目:) – tarnfeld 2010-01-01 12:42:57
实际上看不到你的代码有什么问题现在看起来不错对我来说。也许它是一个mobilesafari问题?考虑将其他适当的标签放在你的问题 – AnthonyWJones 2010-01-01 13:00:44