我知道标题令人困惑。在通过AJAX加载DOM之后,我有一个下拉菜单。当用户使用鼠标单击一个选项或使用键盘选择选项时,我还将附加一个更改事件以捕获以捕获。
$("#selTemp").one("change", function () {
$(this).click(function () {
alert("click event fired");
});
$(this).keypress(function (e) {
if (e.which == 13) {
alert("enter key event fired");
}
});
});
我遇到了一些问题,直到我更改为.on。现在,我有一个问题,如果我通过鼠标进行选择和选项,那么我尝试再次点击下拉列表以更改我的选择。点击事件将立即触发,并且不允许我选择其他选项。
<label for="selTemp">Temp</label>
<select id="selTemp" class="form-control">
<option>Select Disaster</option>
</select>
自从我以前做过这件事以来,我很茫然,没有遇到这个问题。唯一的区别是我在MVC网站中进行此操作,并且该方法正在加载脚本:
@section Scripts{
<script>
//some script
</script>
}
是多次加载脚本吗?
因此,由于不同浏览器的方式,当用户选项卡将键盘功能处理为选择并随后使用箭头键进行导航时,我需要寻找另一个,更多,我需要寻找另一个,更多,我需要寻找另一个,更多可访问的解决方案。我已经解决了使用单击事件添加一个按钮,然后查找所选用户选项。
这是一篇文章,可以更好地详细说明为什么此解决方案更容易访问:
http://pauljadam.com/blog/onchange-event-event-on-a-select-inputjump-menu-accorcesibility-problems/
,这是任何需要它的代码(非常简单):
html
<form class="form-inline" role="form">
<div class="col-md-12">
<select id="selTemp" class="form-control">
<option>Select Temp</option>
</select>
<button id="btnGetStuff" type="button" class="btn btn-primary">Get Some stuff</button>
</div>
</form>
jQuery
$("#btnGetStuff").on("click", function () {
var temp = $("#selTemp option:selected").val();
});