函数创建一个元素并将其附加到父元素。有问题的元素包含其他元素,其中有一个输入复选框。我向onchange事件添加了一个事件监听器。为了简洁起见,听众只会在这里写“#39;到控制台。在第一次加载页面时,这里是'消息出现,这是有道理的,因为checked属性设置为true。问题是在此之后任何点击都不会触发监听器。任何人都可以阐明这一点吗?
function createNewRow(number){
var row=document.createElement('div');
automaticLegend.appendChild(row);
var txt=document.createTextNode('Particle '+number);
var showBtn=document.createElement('input');
showBtn.type='checkbox';
showBtn.checked=true;
var labelShow=document.createTextNode('Show ');
var traceBtn=document.createElement('input');
traceBtn.type='checkbox';
traceBtn.checked=true;
var labelTrace=document.createTextNode('Trace ');
var radiusBtn=document.createElement('input');
radiusBtn.type='checkbox';
radiusBtn.checked=true;
var labelRadius=document.createTextNode('Radius ');
var delBtn=document.createElement('input');
delBtn.type='button';
delBtn.value='Remove';
row.appendChild(txt);
row.appendChild(showBtn);
row.appendChild(labelShow)
row.appendChild(traceBtn);
row.appendChild(labelTrace);
row.appendChild(radiusBtn);
row.appendChild(labelRadius);
row.appendChild(delBtn);
showBtn.onchange=resetShowFlag(showBtn);
};
function resetShowFlag(el){
console.log('here');
}
答案 0 :(得分:0)
尝试使用它。 showBtn.addEventListener('change',resetShowFlag);