“Keypress"事件不能正常工作,使用jQuery &Select2
"Keypress" event is not working correctly, using jQuery & Select2
我有一个论坛,我改变选项卡的功能进入。当用户按enter下一个输入字段获得焦点,并以某种方式在focusin
事件上打开select2选择框,因此select2框打开。
但是,当我选择值并在selec2选择框中按enter键时,它不会关闭并在输入键按事件时保持打开状态,但它关闭了。当我将enter键事件更改为任何按键事件,而不是select2接近并工作良好,但我必须通过enter来完成。
我想要的:
当用户在select2搜索框中选择值并按回车键时,它会靠近并将焦点移到下一个输入字段或任何字段。
我到目前为止所做的。
$('.search-select').on("focusin",function(event) {
$('#s2id_form-field-select-3').select2('open');
event.preventDefault();
});
$('.select2-input').on("keypress", function(e) {
if (e.keyCode == 13) {
$("#select2-drop-mask").click();
$('#name').focus();
e.preventDefault();
}
});
选择任意正在工作的按键事件
$('.select2-input').on("keypress", function(event) {
$("#select2-drop-mask").click();
$('#name').focus();
event.preventDefault();
});
标记
<select id="form-field-select-3" name="register_id" class="form-control search-select" required="required">
<option value=""> </option>
<? $query=$this->dba->get_dropdown('register',array('id','name'));
foreach($query as $key=>$value):
?>
<option value="<?=$key?>"><?=$value; ?></option>}
<? endforeach;?>
</select>
为错误提前道歉,这是我第一次使用Select2
我想你在找keydown:
$('.select2-input').on("keydown", function(e) {
if (e.keyCode == 13) {
$("#select2-drop-mask").click();
$('#name').focus();
e.preventDefault();
}
});
他们有一点不同。在这种情况下,keypress没有在字段中插入任何内容。
For me worked
$(document).on('keyup keydown', 'input.select2-search__field', function(e) {
你不能使用jQuery附加一个keydown或keypress事件处理程序来从Select2;捕获这些事件。因此,您需要安装一个keydown事件处理程序,以便在Select2处理事件之前捕获事件。你可以用document.addEventListener('keydown', handler, true);
来做。第三个参数告诉浏览器让你的处理程序先处理keydown事件。
的例子:
function myhandler(event){
if (event.keyCode == 117) {
event.preventDefault();
event.stopPropagation();
// do what you want when user press F6 on keyboard;
return false;
}
}
document.addEventListener('keydown', myhandler, true);
相关文章:
- Boostrap日期选择器在克隆后无法工作(使用jQuery Cloneya)
- For循环未按预期工作(使用jQuery)
- 为什么不;我的jquery工作(使用延迟、hasclass、addclass、removeclass、keyUp、key
- 为什么ng repeat不在angular js中工作(使用指令)
- Jquery在一个域上工作,而不是在另一个域中工作-使用*相同的*代码
- 谷歌分析电子商务跟踪不工作-使用Analytics .js
- JQuery.内容不工作使用jsdom
- 鼠标悬停不工作使用jQuery
- 层叠下拉是不工作使用jquery
- 邮件链接在一个邮件的主题行不工作使用javascript
- 点击功能不工作使用jquery在平板设备内文档准备好
- 动态复选框onchange不工作使用jquery
- 光画廊不工作(使用翡翠和加载页面分开)
- 需要的属性不工作使用javascript提交
- 不能得到购物车工作使用外部javascript
- javascript重定向到JSP不工作(使用Spring MVC)
- 当jGrowl被调用时,thickbox停止正常工作(使用UpdatePanel)
- 表单提交重定向不工作使用联系人表单7 WordPress插件
- 当直接链接时,AngularJS路由不工作——使用html5模式和Firebase重写
- “src: / / domain.com"不能工作.使用firefox 28和chrome 34