鼠标点击出现下拉菜单,点其他地方,缩回去。
2011-07-22 20:47
323 查看
document.addEventListener("mousedown", function(e) { var target = e.target || e.srcElement; while (target != document && target != popup) { target = target.parentNode; } if (target == document) { popup.hide(); } }, false); 其中popup是菜单元素,popup.hide()隐藏菜单
nav.onclick = function () { var e = arguments[0] || window.event, target = e.srcElement ? e.srcElement : e.target; }// 些段代码怎么解释。
nav 是页面的一个元素的name,比如按钮或者图片等等。 .onclick 是对这个元素注册事件。 function 里面是点击的时候执行的代码。 其中 var e = arguments[0] || window.event 中的arguments是该function的参数数组,即所有参数,而 arguments[0] 就是第一个参数,在火狐浏览器里面点击事件(onclick)的第一个参数就是event(点击事件对象),但是IE里面不是,所以为了确保 e 是“点击事件对象”所以使用“||”。你可能只需要知道,这里变量e就是一个事件对象。这个事件对象有一些固有属性 比如 e.srcElement 就是这个事件的目标,通俗的说就是click谁,在这里就是第一行所说的 nav 元素。 e.srcElement 只有IE浏览器才有效, 而在火狐里面应该是这样:e.target ,所以 target = e.srcElement ? e.srcElement : e.target; 这一行就是确保 前面的target是事件触发的元素,即 nav。
相关文章推荐
- 点击 Html Select 中的option标签时获得的鼠标坐标与点击页面上的其他地方存在差异
- 用NGUI显示图片鼠标点击的地方出现在屏幕上
- 鼠标点击,在点击的地方出现提示框
- 用iTween实现一个鼠标点击一个地方平面中间出现一个向上抛然后下落的球
- 关于鼠标点击其他地方隐藏层的实例(要引入jquery包哦)
- 点击其他地方隐藏div
- css相关,鼠标点击<input>输入域后出现有颜色的边框
- 基于jquery鼠标点击其它地方隐藏层的实例代码
- jquery点击其他地方隐藏菜单
- 高德地图infowindow点击其他地方消失
- jquery 点击除本身外其他地方隐藏
- 点击屏幕其他地方让edittext失去焦点并隐藏输入法的实现方法
- 点击页面其他地方,隐藏目标div
- js 点击页面其他地方关闭弹出层
- 安卓editview点击时打开软键盘,点击其他地方软键盘消失(Activity中)
- 点击其他地方弹层消失
- 搜索提示框文字,鼠标点击,文字消失,鼠标点外面,文字出现
- css导航栏鼠标hover的时候就出现下拉菜单
- BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
- 点击页面其他地方,隐藏DIV(常用)