我會使用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