当选项已选择时,请单击“更改”时选择



我知道标题令人困惑。在通过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();
    });

最新更新