如何将事件绑定到tab Off元素
How to bind an event to Tabbing Off an element?
我使用下面的下拉菜单:
/* recurse through dropdown menus */
$('.dropdown').each(function() {
/* track elements: menu, parent */
var dropdown = $(this);
var menu = dropdown.next('div.dropdown-menu'), parent = dropdown.parent();
/* function that shows THIS menu */
var showMenu = function() {
hideMenu();
showingDropdown = dropdown.addClass('dropdown-active');
showingMenu = menu.show();
showingParent = parent;
};
/* function to show menu when clicked */
dropdown.bind('click',function(e) {
if(e) e.stopPropagation();
if(e) e.preventDefault();
showMenu();
});
/* function to show menu when someone tabs to the box */
dropdown.bind('focus',function() {
showMenu();
});
});
/* hide when clicked outside */
$(document.body).bind('click',function(e) {
if(showingParent) {
var parentElement = showingParent[0];
if(!$.contains(parentElement,e.target) || !parentElement == e.target) {
hideMenu();
}
}
});
注意:
$ (document.body) .bind("点击",函数(e) {
问题是,下拉菜单打开点击或当你的标签到它。但它只在点击时关闭,而不是在你退出时关闭。
我如何绑定一个事件来表示"tab out",失去焦点,所以下拉菜单关闭?
谢谢
可以在按tab键时触发外部的点击。这样的:
$('#your_dropdown').bind('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { //If it's the tab key
$("body").click(); //Force a click outside the dropdown, so it forces a close
}
});
希望这对你有帮助。欢呼声
尝试blur
事件,该事件将在控件失去焦点时触发(即,当用户单击控件外部或使用键盘制表符到下一个控件时)。
在现有的focus
绑定之后添加如下内容:
dropdown.bind('blur',function() {
// whatever tests you want
hideMenu();
});
(这样你就不需要当前用来隐藏菜单的单独的click绑定了)
注:您也可以考虑focusout
,它与blur
类似,只是它会起泡。
似乎你正在寻找onblur
事件?
相关文章:
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 禁用Tab键以进行具有特定Div ID的输入
- Tab键不会't继续chrome/IE11中的表单字段
- jquery on()和off()不起作用
- Jasny bootstrap Off Canvas菜单:如何在导航栏下强制菜单滑动
- Javascript-iPad Tab键检测,带蓝牙键盘
- 捕捉TAB键按下键向上
- 如何在使用$(“#id”).off()后启用事件处理程序;
- Animation cuts off multiple lines of text in <p>
- 更改javascript中的tab键行为
- /如何使用java脚本在safari浏览器中获取活动的Tab url
- Impress.Js正确使用Tab
- 将自定义HTML5/iframe小部件集成到Facebook Timeline/Tab页面中
- Jquery自动完成:如果没有选择任何项目,则使tab键选择第一个项目
- 使用Jquery和Tab内容移动制作动画
- 选择 UI-TAB 的模板
- Twitter Bootstrap的Tab插件中“data-api”是什么意思
- 使用 KNOCKOUT.js 在禁用元素的 HTML 中保持 Tab 键顺序
- 引导选项卡 - 类型错误 .tab 不是一个函数
- 如何将事件绑定到tab Off元素