点击事件不';t在移动设备上使用javascript动态构建元素

点击事件不';t在移动设备上使用javascript动态构建元素,javascript,javascript-events,createelement,Javascript,Javascript Events,Createelement,以下是我构建dom的方式: var projectOverlay = document.createElement("div"); projectOverlay.className = "projectOverlay"; projectOverlay.onclick = function(){openSlider($(this))}; project.appendChild(projectOverlay); 所以。。。openslider(elem)功能在除移动设备(android手机、

以下是我构建dom的方式:

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


在写你的答案之前一定要看一下这个链接

看起来您混合了
document.createElement
etc的普通JS和jQuery。如果您使用的是jQuery,那么请使用它的事件绑定。使用该方法为当前和将来的元素绑定onclick。您的项目中已经有jQuery。使用它来创建DOM和事件处理程序,而不是手动创建。和使用事件委托。@DCoder-如何使用jquery构建dom?我在某个地方读到,原生javascript createelement是最快的方法?构建对象所需的时间比任何其他方法少5倍。。。请回答一个正确的例子…@Berkowski-你能写一个例子吗?你将如何使用on()方法?请我以前试过,但没能成功…:(创建一个元素(除非您正在构建大量DOM,否则它实际上是一个首选项):
$('').appendTo($(项目))
.Event delegation:$('body')。on('click','.projectOverlay',function(){openSlider($(this));})`。