我希望每次用户单击#box div时都将焦点放在可编辑的#innerbox内。
我正在使用以下代码,但只能运行一次:
document.getElementById('box').addEventListener('click', function(){
setTimeout(function() {
document.getElementById('innerbox').focus();
}, 0);
});
#innerbox{
border: 1px solid;
}
#box{
border: 1px blue solid;
padding:20px;
}
<div id="box">
<div id="innerbox" contenteditable="true" style="min-height:26px;" onkeyup="myFunction()"></div>
</div>
#box上没有其他“点击”监听器
编辑: 我与上面的代码段的区别是#innerbox div被删除并在DOM中重新创建,并且是在第一次重新创建click eventlistener不再起作用后才出现的问题,这可能是问题吗?
编辑2: 我尝试使用
$('#box').on('click', '#innerbox', function(){
$('#innerbox').focus();
});
用于动态创建的元素,但也不起作用。