首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><label for><input /><label> -焦点立即丢失

<label for><input /><label> -焦点立即丢失
EN

Stack Overflow用户
提问于 2013-10-10 07:54:24
回答 2查看 278关注 0票数 0

我有一个单选按钮组和带有for属性的相关标签,其中一个标签包含一个文本框。

现在我遇到了问题,只要单击textbox,焦点就会再次移除。请参见这里 -尝试选择文本框以输入某些内容。

我已经在onclickonfocus中尝试了以下内容

代码语言:javascript
复制
setInterval(function () { $('#TriggerTimeUI').focus(); }, 50)

这似乎是可行的,但我在该控件上有一个datetimepicker,这“扼杀”了这个逻辑,因为它一直在显示(参见这里,但这个小提琴只适用于Chrome)。

,有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-10 07:58:43

这个问题是因为标签的for属性设置为同级元素。这意味着将在属性中命名的元素上引发单击事件,因此,为什么会立即从textbox中丢失焦点。删除for属性,文本框保持焦点:

代码语言:javascript
复制
<input type="radio" name="TriggerMode" id="TriggerMode_custom" value="custom" checked="checked" />
<label> <!-- remove the 'for' here -->
    <input style="width: 230px;" type="Text" id="TriggerTimeUI" />
    <br />
</label>

例琴

如果您需要这样的行为:当有人单击文本框时,选中单选按钮,则需要手动执行:

代码语言:javascript
复制
$('#TriggerTimeUI').focus(function() {
    $('#TriggerMode_custom').prop('checked', true);
});

另一个例子小提琴

票数 1
EN

Stack Overflow用户

发布于 2013-10-10 08:04:51

您已经将输入文本框包装在标签标签下,标签标签属于单选按钮。只需结束标签标签,如下面所示,您的问题就会解决。

代码语言:javascript
复制
<label for="TriggerMode_custom"></label>
        <input style="width: 230px;" type="Text" id="TriggerTimeUI" /><br />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19290079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档