根据我的演示代码,为什么我不能将光标移动到动态添加的输入中?正如您所看到的,我正在使用.focus()
使用户无需单击即可开始输入文本,但它不起作用
$(".container").dblclick(function(e) {
$(this).append($('<input type="text"/>').css({ //some CSS here
}).focus());
});
.container {
background: #ddd;
height: 600px;
position: relative
}
input {
margin: 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
</div>
发布于 2018-12-18 03:43:21
您可以关注最后一个input元素:
$(".container").dblclick(function(e) {
$(this).append($('<input type="text"/>').css({ //some CSS here
}));
$("input:last").focus();
});
$(".container").dblclick(function(e) {
$(this).append($('<input type="text"/>').css({ //some CSS here
}));
$("input:last").focus();
});
.container {
background: #ddd;
height: 600px;
position: relative
}
input {
margin: 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
</div>
发布于 2018-12-18 03:46:07
在将输入附加到DOM之前设置focus
。
尝试以下操作:
$(".container").dblclick(function(e) {
$('<input type="text"/>')
.css({ /* some CSS here */ })
.appendTo(this)
.focus();
});
.container {
background: #ddd;
height: 600px;
position: relative
}
input {
margin: 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
</div>
https://stackoverflow.com/questions/53821957
复制相似问题