Javascript 选择的下拉菜单保持焦点
我有一个实现所选插件的下拉列表。当选择一个选项时,光标应该放在同一页的文本框中。我正试图使用下拉列表的onChange属性来实现这一点,但它不起作用。onChange事件正在被触发,但焦点仍停留在下拉列表上 当我禁用选定项时,它可以完美地工作。所以我知道这与插件有关,但我不知道确切的问题是什么 为什么选择的下拉列表会阻止jQuery切换焦点? 相关HTML:Javascript 选择的下拉菜单保持焦点,javascript,jquery,asp.net,javascript-events,jquery-chosen,Javascript,Jquery,Asp.net,Javascript Events,Jquery Chosen,我有一个实现所选插件的下拉列表。当选择一个选项时,光标应该放在同一页的文本框中。我正试图使用下拉列表的onChange属性来实现这一点,但它不起作用。onChange事件正在被触发,但焦点仍停留在下拉列表上 当我禁用选定项时,它可以完美地工作。所以我知道这与插件有关,但我不知道确切的问题是什么 为什么选择的下拉列表会阻止jQuery切换焦点? 相关HTML: <!--Unrelated code has been removed--> <div class="mws-form
<!--Unrelated code has been removed-->
<div class="mws-form-col-8-8 ">
<div class="mws-form-item large">
@Html.DropDownList("addOtherProvision" + chargeId, Model.otherProvisionDropdown, "",
new { onchange = "$('#additionalDetails').focus();",
id = "addOtherProvision" + chargeId })
</div>
</div>
<div id= "@(chargeId)otherProvisionDialog" class="mws-panel-body"
title="Add Additional Details">
<div class="mws-form-cols clearfix">
<div class="mws-form-item large">
@Html.TextBox("additionalDetails", "", new {id = "additionalDetails",
@class = "mws-textinput" })
</div>
</div>
</div>
@Html.DropDownList(“addOtherProvision”+chargeId,Model.otherProvisionDropdown,”,
新的{onchange=“$('#additionalDetails').focus();”,
id=“addOtherProvision”+chargeId})
@TextBox(“additionalDetails”,新的{id=“additionalDetails”,
@class=“mws textinput”})
这似乎是最近两个版本的问题。这些问题已经得到解决,主要是。解决方法只是添加一个从所选元素中删除所选类的方法,并等待一点时间(足以执行下一个循环),然后聚焦:
$("select").chosen().on('change', function(evt, params) {
setTimeout(function(){
$(this).removeClass('chosen-container-active');
$('#additionalDetails').focus();
}, 0);
});
考虑到标记的性质(您正在使用Razor),我建议您在JavaScript中使用此标记,以提高可读性
JSFiddle:控制台中有异常吗?@HanletEscaño没有,我没有异常。