当前位置: 首页 > Web前端 > HTML5

点击任意元素,指定元素隐藏,div怎么会有焦点事件

时间:2023-04-05 21:13:43 HTML5

点击任意非自身元素,指定元素隐藏在实际开发过程中,经常会遇到以下问题:1.鼠标通过下拉框来显示和隐藏,比如导航下拉2.点击下拉框显示,鼠标点击其他任意元素隐藏下拉框。第一种方法很容易实现,但是第二种方法很麻烦。为此,将介绍两种方案来解决第二个问题。1.使用点击绑定方法jQuery代码:$("span").click(function(){$("ul").show();})$(document).click(function(){$("ul").hide();})//div为指定的“触发下拉控件”//如果“触发下拉控件”与指定的显示和隐藏元素不是上下关系,还需要防止显示和隐藏元素冒泡$("div").click(function(){returnfalse;})html布局:缺点:html文档中还有其他防止冒泡的元素,所以这个方法不能完全达到预期的效果。点击任意一个元素都需要触发div的隐藏,资源消耗很大。想象一下:如果div也能像输入文本框那样拥有focus属性,这个问题是不是就迎刃而解了?!二、如何让div有focus属性并增加tabindex,修改html如下:jQuery写法如下:$("div").focus(function(){$("ul").show());}).blur(function(){$("ul").hide();})优点:占用资源少,方法简单易懂,兼容性好