Jquery 如何在禁用的下拉列表上设置焦点

Jquery 如何在禁用的下拉列表上设置焦点,jquery,html,Jquery,Html,禁用的属性正在动态添加到我的下拉列表中。如何在不删除禁用属性的情况下将焦点设置为下拉列表。可以设置焦点吗?设置焦点的目的是让屏幕阅读器读取下拉列表,并让用户知道它是禁用的下拉列表 我尝试使用只读属性,但在下拉列表中它不起作用。以下是用于下拉列表的html: <select name="description" id="description" disabled="disabled" class="disabledSelection largeGroup"> <option

禁用的属性正在动态添加到我的下拉列表中。如何在不删除禁用属性的情况下将焦点设置为下拉列表。可以设置焦点吗?设置焦点的目的是让屏幕阅读器读取下拉列表,并让用户知道它是禁用的下拉列表

我尝试使用只读属性,但在下拉列表中它不起作用。以下是用于下拉列表的html:

<select name="description" id="description" disabled="disabled" class="disabledSelection largeGroup">
  <option selected="selected" value="-1">Select One</option>
  <option value="1">Montana</option>
  <option value="2">Utah</option>
</select>

禁用属性存在时,您无法执行任何操作

但是,如果您在给定时间记录
选择
状态(选择了
选项
),您可以如下所示将其冻结:

$(文档).ready(函数(){
var myotherCondition=false;
var-selectedOptions=[];
//获取数组中选定的索引。

因为(i=0;我参加晚会迟到了,但我希望这仍然有帮助。 您可以使用
aria disabled
属性而不是
disabled
,您的元素将能够被分配焦点(即使在IE和mobile中,通常这个问题在Chrome或Edge中不会出现)


作为旁注,如果您还希望您的元素可以通过键盘选项卡进行导航,那么当然要确保设置tabindex=“0”(但是,通过JavaScript以编程方式分配焦点不需要设置该项)。

如前所述,您不能使用“禁用”但是,这可以很容易地完成,而不必存储以前的值

此代码段将禁用单击下拉列表,并防止通过按键进行更改,同时仍允许用户使用tab键进行输入和输出

//将aria disabled设置为true,以便向屏幕阅读器指示控件不可用
$('#description').attr('aria-disabled','true');
//禁用单击控件
$(“#说明”)。关于('mousedown',函数(e){
e、 预防默认值();
});
//禁用通过键盘更改值
$(“#说明”)。关于('keydown',函数(e){
var keycode=(event.keycode?event.keycode:event.which);
//仅当键代码不是选项卡时禁用
如果(键码!=9)
e、 预防默认值();
});

选择一个
蒙大拿
犹他州

禁用的DOM元素不能有焦点。最好删除“禁用的”属性。我不希望用户选择特定的下拉列表,除非他填写一些其他详细信息。但我希望在UI中显示禁用的下拉列表。如果我不禁用它,他将能够选择它。我如何表示它已禁用而不使用禁用的属性?
$('#description').each(function () {
  if ($(this).is('select')) {
    $('option', this).not(':Selected').remove();
  }  
});