这就是我构建DOM的方式:

var projectOverlay = document.createElement("div");
projectOverlay.className = "projectOverlay";
projectOverlay.onclick = function(){openSlider($(this))};
project.appendChild(projectOverlay);


因此... openslider(elem)功能在所有浏览器中都可以正常工作,除了在移动设备(Android手机,iPhone,iPad等)上。还有什么其他方法可以将事件绑定到尚未创建的元素,或者我在这里做错了什么?

Live example-单击联系人以获取项目,然后尝试单击其中一个项目以展开它。单击关于将使您返回首页。仍然很混乱,但是该网站仍处于早期开发阶段。

最佳答案

某些电话和浏览器未在JavaScript中实现“ onclick”事件。您应该处理更多的触摸友好事件,例如“ touchstart”,“ touchmove”和“ touchend”。

此处更多信息:https://developer.mozilla.org/en-US/docs/DOM/Touch_events

10-08 15:32