如何在IE,Firefox和Chrome中检测转义按键?下面的代码适用于IE和警报27,但在Firefox中它会发出警报0
$('body').keypress(function(e){
alert(e.which);
if(e.which == 27){
// Close my modal window
}
});
Run Code Online (Sandbox Code Playgroud) 可以任何浏览器开发人员,或任何知道为什么如此难以(如果不是不可能)设置a的下拉列表样式的人<select>,可以使用任何"真正的解释"来阻止浏览器<select> <option>以更方便的方式处理它.
每次我看到如何修改下拉菜单的CSS等问题?在收到答案的不同网站中
"不可能设置html选择的下拉列表的样式.但是你可以构建自己的下拉列表或使用像bootstrap这样的框架."
要么
"如果您认为定制下拉列表绝对是一个好主意,那么您应该使用JavaScript".
我真的不知道为什么,我现在知道了<select>,我的意思是容器盒,可以使用更多样式
select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
Run Code Online (Sandbox Code Playgroud)
然后给出我们的风格,这并不像所有人说的那么简单,因为我们必须做一些技巧才能做到正确,尤其是着名的垃圾箭头.
随着时间的推移,我们忽略了这样一个简单而舒适的<select>元素,几乎所有的开发人员都选择使用上面的一些答案,至少我仍然不知道为什么.
所以至少如果有人能帮助我,我将不胜感激.
反正我是否可以通过jQuery检测到当前选择的表单元素是否处于活动状态?
我创建了这个小提琴来演示这个问题:
当您将鼠标悬停在"搜索"-Link上时,搜索表单会显示出来.当您现在单击选择字段以打开内部选项,然后在不选择任何内容的情况下,将表单保留在右侧(将鼠标移动到灰色块的右边缘),选择字段保持打开状态eles消失(应该如此).
现在我想要使select元素再次处于非活动状态,因此只要select元素仍处于打开状态,它就不会保持打开状态或阻止表单的其余部分消失.
所以,无论哪种方式,我都必须以某种方式检测选择字段是否仍处于打开或活动状态.有没有办法用jQuery检查这个状态?
谢谢你的帮助.
在此处查看我的代码示例:http : //pastebin.com/D1ZctG11
要点是:如果您扩展了一个选择框(通过键盘或鼠标),jquery 的关键事件似乎不会触发 - 至少在 Mac Chrome 中不会。
有什么解决方法吗?
我的最终目标是选择用户在使用optgroup元素时展开选择框时输入的内容。
编辑:
jsfiddle 链接:http : //jsfiddle.net/XacfX/
谢谢
穆斯塔法
我有一个组合框,它有值,我想让用户在Enter按下键时选择值.
Arrow键导航Enter密钥时选择值.我做了这个:
$('#cmb_CIMtrek_DailyshipCo_CustomerName select').bind('keypress', function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) { //Enter keycode
//Do something
alert("Enter key Pressed");
}
});
Run Code Online (Sandbox Code Playgroud)
但是当我按下Enter键时没有发出警报.
可能是什么问题以及如何解决?
最好的祝福.
我想在选择的jquery单选时按下回车键时自动添加所选值.那么,为什么有像按键这样的事件,当按下返回键时我会用它做什么?
<select id="myselect" data-placeholder="Add foods you can buy here."
style="height:30px; width: 100%" class="chosen-select" onkeypress="handle(event)" >
<option value=""></option>
<optgroup label="blah">
<option>blah blah</option>
</optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)