这个js-code在我的电脑上的safari中工作,但不是在ipod touch safari上(也在iphone上测试过它 - 仍然无法正常工作) .
$(document).ready(function(){
$.ajax({
type: "GET",
url: "list.xml",
dataType: "xml",
cache: false,
success: function(xml)
{
$(xml).find('Lights>Light').each(function(){
var lightname = $(this).attr('Name');
$('<li><a href="#lightssubmenu" onclick="lightdata()" \')">'+lightname+'</a></li>').appendTo('#lightitems');
});
}
});
});
function lightdata()
{
alert("entered lightdata");
}
代码解析xml并动态创建html . 我的警报未显示在ipod touch上 - 其他测试警报显示正常 . 因此,当我在ipod touch上运行时,对lightdata的函数调用不得出于某种未知原因(hense this question; o)) . 在手持设备上进行safari调试的可能性有哪些?我正在寻找类似firebug的东西 - 只是为了iphone safari而不是firefox . 移动safari中的调试控制台显示没有错误 . 任何建议/提示将不胜感激 .
1 回答
由于我没有测试你的XML,所以我想说问题是你的HTML代码中有多余的字符 ')" :
改变这一行:
对此:
此外,您应该更改处理事件的方式并将它们附加到内联
onclick
处理程序之外 . 这是你的代码,转移了一下:Note: this requires jQuery 1.4.2+