百度有啊前端框架分析(浏览器内置事件)
事件是JavaScript中非常重要的一个内容,在百度有啊的前端框架中主要对事件分成了浏览器内置事件和自定义事件两部分。
BBEvent下主要对浏览器内置事件进行了标准化。
target :事件目标对象
BBEvent.target = function(A) { A = A || window.event; return A.target || A.srcElement; };
isLeftClick :判断是否为鼠标左键点击
BBEvent.isLeftClick = function(A) { A = A || window.event; return (((A.which) && (A.which == 1)) || ((A.button) && (A.button == 1))); };
pageX :鼠标相对于整个页面的X轴的坐标
BBEvent.pageX = function(A) { A = A || window.event; return A.pageX || (A.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); };
pageY :鼠标相对于整个页面的y轴的坐标
BBEvent.pageY = function(A) { A = A || window.event; return A.pageY || (A.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); };
pagePosition :鼠标相对整个页面的坐标
BBEvent.pagePosition = function(A) { A = A || window.event; return { x: BBEvent.pageX(A), y: BBEvent.pageY(A) }; };
layerX 鼠标相对于当前元素的X坐标(当前元素要position:absolute,否则会跟pageX相同)
BBEvent.layerX = function(A) { A = A || window.event; return A.layerX || A.offsetX; };
layerY鼠标相对于当前元素的Y坐标(当前元素要position:absolute)
BBEvent.layerY = function(A) { A = A || window.event; return A.layerY || A.offsetY; };
layerPosition 鼠标相对于当前元素的坐标(当前元素要position:absolute)
BBEvent.layerPosition = function(A) { A = A || window.event; return { x: BBEvent.layerX(A), y: BBEvent.layerY(A) }; };
preventDefault 阻止浏览器默认动作的发生
BBEvent.preventDefault = function(A) { A = A || window.event; if (A.preventDefault) { A.preventDefault(); } else { A.returnValue = false; } };
stopPropagation 阻止事件冒泡
BBEvent.stopPropagation = function(A) { A = A || window.event; if (A.stopPropagation) { A.stopPropagation(); } else { A.cancelBubble = true; } };
observe 添加事件监听器
stopObserving 删除事件监听器
fireEvent 触发事件
CustEvent是对自定义事件服务的。
observe
stopObserving
fireEvent
百度有啊前端框架分析(浏览器内置事件)相关推荐
- Selenium Webdriver 的使用java执行js代码 解决 ScriptEngine不支持浏览器内置对象window,document的问题
问题场景: 使用java 掉用js代码,发现 ScriptEngine不支持浏览器内置对象window,document的问题: 问题一:为什么要 用java掉用js代码? 比如在 抓取(爬取)对方网 ...
- js浏览器内置对象和js内置对象
浏览器内置 1.Location 对象 hash :返回一个URL的锚部分 host 返回一个URL的主机名和端口 hostname 返回URL的主机名 href 返回完整的URL pathname ...
- Flash正式成为Googel Chrome浏览器内置插件
3月30日,Google Chrome浏览器官方博客宣布Flash正式成为Google Chrome浏览器内置插件.从此,Flash将随同Google Chrome的版本同时发布,并且附带自动更新功能 ...
- 内置host_浏览器内置对象应用实践
" 浏览器内置对象,我们每天都与其打交道,可能你并未全面的去了解过它.我们一起讨论下你有过哪些实践." 1. 什么是浏览器对象模型?(BOM :Browser Object Mod ...
- html5网页自动下滑,HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码...
H5手指下滑弹出负一屏, 阻止移动端浏览器内置下拉刷新功能,具体实例代码如下所示: 默认隐藏,负一屏,手指下滑即可弹出显示,上滑隐藏 正式内容 import $ from 'jquery'; expo ...
- 微软游戏服务器断网,微软大规模更新了Edge浏览器内置的断网小游戏
真正做到"无网冲浪". 先告诉大家一个冷知识:微软的Edge浏览器在断网的时候也可以冲浪. 我指的是浏览器内置的"断网小游戏". 去年,微软Edge浏览器在一次 ...
- 主流浏览器内置http抓包工具使用
1.1 谷歌浏览器内置抓包工具 谷歌浏览器 chrome自带的 http 抓包工具界面简洁大方,功能也很强大,唯一的不足就是界面是英文的. 打开方式一:点击右上角的菜单-->更多工具--> ...
- 玩转代码|解决Chrome浏览器内置谷歌翻译功能无法使用问题!
最近这几天在使用Chrome浏览器的内置谷歌翻译功能时,总是一直停留在不翻译的状态,一开始我还以为是网络波动过几天就好了,过了好几天依旧是这样.去看了新闻才知道谷歌翻译已经退出了中国市场. 根据Tec ...
- js禁止苹果页面底部滚动_Vue.js 实现禁止 h5 页面在 ios 浏览器内置的下拉 bounce 效果...
介绍 vue-disbounce是一款基于Vue.js的自定义组件,可以有效避免触发h5页面在ios浏览器内置的下拉bounce效果. 组件 :style="{'background-col ...
- javascript笔记:推荐使用“百度统计”并且拷贝百度统计的前端框架
本篇博文讲两件事情,一个是推荐在博客园经常写博客的童鞋们一个很棒的工具--"百度统计",另一个是"拷贝百度统计"的页面框架. 首先讲第一个事情,我的博客里有不少 ...
最新文章
- 计算机辅助设计综合实践,计算机辅助设计毕业综合实践报告
- 使用nginx后如何在web应用中获取用户ip及原理解释
- 【已解决】R语言,在线升级
- An internal error occurred during: “AppXray Indexing
- sql 2008日志增长过快_SQL语句引起的空间暴增分析
- mysql怎么可视化连接_IDEA连接MySQL可视化工具连接操作
- struts.properties文件
- 【Vue.js源码解析 一】-- 响应式原理
- asp.net(C#)页面事件顺序
- 官司缠身!马斯克和特斯拉目前面临数十起诉讼和调查
- 使用 redis 减少 秒杀库存 超卖思路 (转)
- 《Python编程实战:运用设计模式、并发和程序库创建高质量程序》—— 2.7 代理模式...
- vscode的pip安装
- Arcgis desktop 9.3的破解方法(转载GIS帝国)
- 怎么用计算机打吃鸡,电脑上怎么玩吃鸡端游
- 修改植物大战僵尸游戏存档
- 百度地图-根据经纬度定位示例-百度地图单点标注(整理)
- [机缘参悟-36]:鬼谷子-飞箝篇 - 面对捧杀与诱饵的防范之道
- Win7怎么设置自动关机?Win7设置自动关机的方法
- 「MacTeX 小笔记」准备篇