我已經創建了一個應該是聯繫人列表的div元素。它應該包含其他div。 我想要做的是在每個列表項目(每個內部div)上附加一個點擊處理程序。 但點擊處理程序永遠不會被觸發。 jquery沒有檢測到點擊子元素
$(".contact").on("click", function() {
alert("clicked");
});
.contacts {
position: absolute;
top: 10px;
left: 300px;
width: 100px;
height: 250px;
border-color: black;
border-style: solid;
z-index: 1;
overflow: scroll;
}
.contact {
position: relative;
width: 80%;
height: 20%;
border-style: solid;
border-color: red;
z-index: 100;
}
<div id="contactList" class="contacts">
<div id="1" class="contact">one</div>
<div id="2" class="contact">two</div>
<div id="3" class="contact">three</div>
</div>
如果我附上父DOM對象一個單擊處理程序,它就會被觸發。我在這裏錯過了什麼嗎?
編輯:
我傻的,我忘了提,孩子們以這種方式添加:
$(".contacts").append($("<div id='"+id+"' class=contact >"+d[contact].name+"</div>"));
其中,「d」和「ID」的變量來自於成功的服務器調用。
這是你的樣品http://jsfiddle.net/a6ze1cyo/,它是精細運行,請問是什麼問題? – 2014-10-31 19:51:15
所以如果你改變選擇器到'$(「。contacts」)。'它有效嗎? – dfsq 2014-10-31 19:51:24
@paris你有沒有得到任何JS錯誤? – 2014-10-31 19:52:17