我有一个奇怪的。
我有一个div,它有一个onclick事件,调用一个函数,然后调用ajax。 在Safari中这样做可以完成两次。 使用iPhone运行相同的程序每次都能完美运行。
这就是我在做的事情:
// this is created by the Ajax call
no1 = 0;
no2 = 1;
formName = "myButton" + no1 + no2;
//newItem is what is returned by the Ajax call
newItem = "<div id=\"trainingOptions\" onclick=\"request_ajax('".$formName."')\">";
//this places the onclick event into the HTML code
document.getElementById.("myDiv").innerHTML = newItem;
所以基本上这就是一遍又一遍地放置onclick事件的方式。 当request_ajax回答时,此部分将完全相同。
现在,这在Safari中完全可以正常工作两次,并且只需点击iPhone即可。
为什么会发生这种情况?
Best Kurt
答案 0 :(得分:0)
您提供的元素很少,我们可以帮助您。所以这只是一个猜测,如下:
您的追加:
newItem = "<div id=\"trainingOptions\" onclick=\"request_ajax('".$formName."')\">";
由于你在追加它之前没有清除div,在我看来你附加了多个具有相同id的div。当浏览器以不同的方式处理多个等效ID时,这可能会导致您的问题。
只应该有一个带有一个ID的元素,你不能拥有两个具有相同ID的元素,这可能会导致冲突。也许这就是你发生的事情。