jQueryUI autocomplete+Combobox 小部件在点击 return 其他元素时聚焦

jQueryUI autocomplete+Combobox widget is focused when hitting return on other elements

我在具有多个输入的表单中使用 jqueryUI 自动完成 + 组合框小部件。

当我选择一个复选框并点击 return 时,我会立即关注组合框生成的输入元素。这发生在每个输入元素上,但不会发生在选择上。

我怎样才能避免这种情况?

http://jsfiddle.net/cLxkyd1r/

(制表符到第二个复选框命中 return)

代码:

<form id="filterForm">
    <input type="checkbox" value="abc">
    <input type="checkbox" value="abc">
    <input type="checkbox" value="abc">
    <input type="checkbox" value="abc">
    <input type="checkbox" value="abc">
    <select class="combobox">
        <option value="1">123</option>
        <option value="2">ASDF</option>
        <option value="3">Max</option>
        <option value="4">Pain</option>
    </select>
</form>

您可以使用 e.preventDefault() 或 return false 来防止这种默认行为:

$('input[type="checkbox"]').keydown(function(e){

if(e.keyCode == 13) {

    if($(this).is(':checked')) {
       $(this).prop('checked', false).checkboxradio("refresh"); 
    } else {
         $(this).prop('checked', true);   
    }
    return false;
}
});