jQuery模糊(). .它到底是怎么工作的
jQuery blur()....How exactly does it work?
我为一个响应式网站创建了一个移动下拉菜单,当你点击某个元素时,它会显示一个隐藏的无序列表。它工作得很好,除了我不能让blur()函数工作,所以当用户单击页面上的任何地方而不是菜单中时,它隐藏了菜单。这是一个代码依赖:http://codepen.io/trevanhetzel/pen/wIrkH
我的javascript是这样的:
$(function() {
var pull = $('#pull');
menu = $('header ul');
$(pull).on('click', function(e) {
e.preventDefault();
$('.close-menu').toggle();
$('.mobi-nav span').toggle();
menu.slideToggle(250);
});
$(menu).blur(function() {
$(this).slideToggle();
});
});
我过去一直在努力使用blur(),所以我真的很想一劳永逸地弄清楚它到底是如何工作的,以及我是否在正确的上下文中使用它。谢谢!
你必须自己注意点击。并使用$。包含查看被点击的内容是否在菜单中:
$(document).click(function (ev) {
if (ev.target !== menu.get(0) && !$.contains(menu.get(0), ev.target)) {
menu.slideUp();
}
});
只要确保在你的toggle click处理程序中调用ev.stopPropagation(),以防止上面的处理程序在事件冒泡时立即关闭菜单
相关文章:
- 角度指令中的模糊无法正常工作
- 为什么不'当使用模糊时,点击工作
- SVG网格线在Google Chrome中缩放时模糊,但在Mozilla Firefox中工作正常
- 窗口聚焦和模糊事件在Android浏览器上无法正常工作
- 模糊事件会阻止点击事件正常工作
- chrome setInterval()用于模糊选项卡无法正常工作,即使是1秒或更长时间
- 使模糊算法与画布图像数据工作
- Jquery模糊不工作"退出"文本输入即使"点击"所做的事
- Arborjs解决画布模糊文本由于鼠标事件不能很好地工作
- 更新了在angularjs中不工作的模糊
- 模糊是不工作的选择菜单上的Chrome浏览器
- jQuery模糊(). .它到底是怎么工作的
- 模糊功能不工作
- 自定义模糊不能正常工作[AngularJS]
- 当我点击另一个x编辑时,关闭模糊不工作
- 输入字段的模糊不工作
- jQuery模糊事件不工作
- 为什么clearInterval不能在窗口模糊和焦点事件功能中工作
- 焦点是不工作后的模糊事件的文本框在jquery
- Javascript像素操作画布,模糊滤镜不工作