我想点击的事件处理程序添加到一堆使用jQuery使用代码动态生成的div如下的浮动属性打破:jQuery的单击事件
for (var i = 0; i < 10; ++i) {
var testdiv = document.createElement('div');
testdiv.innerHTML = 'test' + i;
testdiv.id = 'test' + i;
var nestingdiv = document.createElement('div');
nestingdiv.classList.add('nestingdiv');
nestingdiv.appendChild(testdiv);
setTestClickHandler(i);
end
function setTestClickHandler(i) {
$('#test' + i).click(function() {
alert(i);
});
这工作完全正常,但只要我一个浮动参数添加到.nestingdiv
类是这样的:
.nestingdiv { float:left; }
单击处理不再触发(在Firefox和Chrome测试)。有没有人有任何想法,为什么这可能是这种情况,或者我可以如何解决它?
我将背景色属性添加到您的div,如。 div {background-color:red; }并观察页面 - 您可能会发现您的div与您期望的地点/形状不同! – NibblyPig
嗯,我不确定当你没有将这些元素连接到DOM树时,它如何能够正常工作。尝试使用'document.body.appendChild(nestingdiv)'将'nestingdiv'添加到现有的和活的树中。 – kubetz