gpt4 book ai didi

javascript - jquery input.focus+wrap 无法输入输入

转载 作者:行者123 更新时间:2023-12-02 20:30:59 26 4
gpt4 key购买 nike

$('input').focus(function() {
$(this).next("div.description").slideToggle("slow");
$(this).wrap(' <
div > < /div>').select('input'); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<blink>
<input type="text" class="form-text required" value="" size="35" id="editfiled" name="somename" maxlength="128">
<div class="description">
<p>some text</p>
</blink>

之后我无法输入此输入。

我需要,如果输入获得焦点,它必须在 div 内突出显示。

最佳答案

你陷入了一个圈子。

如果输入获得焦点,则将其包装到 div 中。
由于这是标记的重建,因此输入将失去焦点。如果再次单击它,焦点将再次触发,另一个 div 将包裹在输入周围,依此类推。

你可以这样尝试:

$('input').focus(function () {      
if(!$(this).data('wrapper'))
{
$(this).next("div.description").slideToggle("slow");

$(this).data('wrapper',$(this).wrap('<div/>').parent());
var _this=this;
setTimeout(function(){_this.focus();},10);
}
else
{
this.select();
}
});

它将wrapper-div存储为输入的data(),因此如果输入已经被包装,该函数将不会执行任何操作。

如果您在某处删除了包裹在输入周围的 div,也不要忘记从 data() 中删除包装器。

(在 Firefox 中,当 SlideToggle 完成时,选择会丢失,也许您需要其他解决方案来显示/隐藏描述)

关于javascript - jquery input.focus+wrap 无法输入输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4139856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com