Javascript 在动态构建的元素上,点击事件在iPad/iPhone/Android上不起作用

Javascript 在动态构建的元素上,点击事件在iPad/iPhone/Android上不起作用,javascript,android,ios,dom-events,createelement,Javascript,Android,Ios,Dom Events,Createelement,以下是我构建DOM的方式: var projectOverlay = document.createElement("div"); projectOverlay.className = "projectOverlay"; projectOverlay.onclick = function(){openSlider($(this))}; project.appendChild(projectOverlay); 所以。。。OpenSlideReem功能在除移动设备Android手机、iPho

以下是我构建DOM的方式:

var projectOverlay = document.createElement("div");
projectOverlay.className = "projectOverlay";
projectOverlay.onclick = function(){openSlider($(this))};   
project.appendChild(projectOverlay);
所以。。。OpenSlideReem功能在除移动设备Android手机、iPhone、iPad等之外的所有浏览器中都能正常工作。是否有其他方法将事件绑定到尚未创建的元素,或者我在这里做错了什么


-单击“联系人”以获取项目,然后尝试单击其中一个项目进行扩展。单击“关于”将返回主页。这仍然很混乱,但该网站仍处于早期开发阶段…

一些手机和浏览器没有在JavaScript中实现onclick事件。您应该能够使用更友好的触摸事件,如touchstart、touchmove和touchend


这里有更多信息:

在我的项目中也遇到了同样的问题。动态创建的元素没有获得单击事件,除了在iOS6上,因此可能已经修复了一些问题。我发现的解决方法是在包含动态创建元素的div上强制进行转换。加载页面时,包含动态创建元素的div确实存在。假设它有一个带有值容器的id属性,代码如下

var container = document.getElementById("container");
container.style.webkitTransitionDuration = "0";
container.style.webkitTransform = "translateY(0px)";

然后,容器下动态创建的元素将获得单击事件。

尝试将单击事件绑定移动到appendChild之后。

那么如何使用此方法创建元素并附加单击事件呢?我什么都试过了,但看不出有什么不同。。。使用touchstart方法时会发生任何事情吗?你至少应该得到一些反馈,什么都没有改变。它可以在pc上工作,但不能在移动设备上工作。在我的原始问题中有一个链接…当在移动浏览器模拟器中运行时,我得到了未捕获的TypeError:无法调用项目上未定义的方法'refresh'。js:270只有在浏览器模拟器中打开站点时才会发生这种情况。如果我在桌面模式下打开站点,然后开始模拟,则不会发生异常,而且一切似乎都正常工作。试试谷歌Chrome浏览器,我想ipad只会注册点击标签,但我不能在周一之前测试,因为我没有带ipad。。。谁能告诉我我是不是对的?等不及星期一了…: