鍍金池/ 問答/PHP  HTML/ 復(fù)選框事件失效

復(fù)選框事件失效

四個(gè)復(fù)選框,點(diǎn)擊其中一個(gè),用js在下面顯示對(duì)應(yīng)的復(fù)選框選項(xiàng),然后再點(diǎn)擊這些復(fù)選框,下面再顯示對(duì)應(yīng)的復(fù)選框選項(xiàng),只有在第一次的時(shí)候事件會(huì)觸發(fā),用js循環(huán)出來(lái)的復(fù)選框添加任何事件都沒有效果Image
Image
Image
在第二次點(diǎn)擊的時(shí)候就沒效果了
Image

回答
編輯回答
巴扎嘿

把你的change事件裝在一個(gè)函數(shù)里,先調(diào)用一次,在for動(dòng)態(tài)添加后也就是$(".scene")后面調(diào)用一次這個(gè)函數(shù)

2018年8月16日 13:04
編輯回答
雨萌萌

用一個(gè)div包裹新生成的多選框,監(jiān)聽div的click事件就行

<div>
  <input type="checkbox" value="1">
  <input type="checkbox" value="2">
  <input type="checkbox" value="3">
</div>
<div class="new"></div>
// 生產(chǎn)新的input
$('input').on('click', function() {
    $('.new').html('<input type="checkbox" value="t' + $(this).val() + '">')
})
// 監(jiān)聽父元素,子元素事件冒泡觸發(fā)
$('.new').on('click', function(e) {
  console.log($(e.target).val());
})
2017年2月15日 07:33
編輯回答
疚幼

第一個(gè)是因?yàn)轫?yè)面已經(jīng)渲染好了所以會(huì)觸發(fā),接下來(lái)的復(fù)選框是你動(dòng)態(tài)添加的,所以你那樣就起不到效果了,建議下面的復(fù)選框改用函數(shù)的方式觸發(fā)。類似 onclick=function();這種的來(lái)觸發(fā)

2017年9月1日 23:35