我想點擊的事件處理程序添加到一堆使用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