Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery选择将事件绑定到键盘_Javascript_Jquery_Jquery Chosen - Fatal编程技术网

Javascript jQuery选择将事件绑定到键盘

Javascript jQuery选择将事件绑定到键盘,javascript,jquery,jquery-chosen,Javascript,Jquery,Jquery Chosen,以下是我的HTML的结构: <select class="chosen-select" data-placeholder="Choose an color:"> <option value="1">red</option> <option value="2">blue</option> <option value="3">green</option> <option valu

以下是我的HTML的结构:

<select class="chosen-select" data-placeholder="Choose an color:">
    <option value="1">red</option>
    <option value="2">blue</option>
    <option value="3">green</option>
    <option value="4">black</option>
</select>
我已经成功地尝试绑定上/下键和按键。但是: 以下是我的用例:
我需要将事件绑定到ENTER键,我已尝试将事件绑定到
e.which==13
,并阻止默认设置,但没有成功。我还必须提到,这段代码应用于引导模式。

尝试附加jQuery的keydown事件:

$(document).on('keydown', '.chosen-select', function (event) {
    if ( event.which == 13 ) {      
        event.preventDefault();
        var color = $(this).text();

        // do something with color
    }    
})

这将获得颜色,并更改按Enter键时下拉列表的值

$(document).on('keydown', '.chosen-select', function (e) {
    if (e.which == 13 )
    {  
       var selectedTarget = $(this).find("option:selected");
        alert($(selectedTarget).text());
        $(this).val($(selectedTarget).val());       
    }    
});

我能够解决将事件绑定到所选()的问题:


我可能弄错了,但当我使用向下箭头键并按enter键时,我没有看到任何提示。在kbd上的独立
enter
之后,您将收到提示。对我有用,你说得对。我想我阻止了警报功能。在
//下面添加
警报(颜色)
不会导致任何操作。这正是我面临的问题输入“按”不会将所选选项注册为活动结果。
$(document).on('keydown', '.chosen-select', function (e) {
    if (e.which == 13 )
    {  
       var selectedTarget = $(this).find("option:selected");
        alert($(selectedTarget).text());
        $(this).val($(selectedTarget).val());       
    }    
});
$(".chosen-select").chosen().keydown ( function (e) {
    if (e.which == 13 )
    {
        var color = $(this).val()
    }
});