兼容各大浏览器的event获取
2024-08-27 02:12:36
event:
//得到事件
function getEvent(evt){ if (evt && typeof(evt) != "undefined") {
var e = window.event || arguments.callee.caller.arguments[0]; if (typeof(evt) != "undefined") {
e = window.event || evt;
} return e;
} else {
if(window.event) {return window.event;} try {
func = getEvent.caller; while(func!=null){
var arg0=func.arguments[0]; if(arg0){
if((arg0.constructor==Event || arg0.constructor ==MouseEvent
|| arg0.constructor==KeyboardEvent)
||(typeof(arg0)=="object" && arg0.preventDefault
&& arg0.stopPropagation)){
return arg0;
}
} func = func.caller;
}
} catch (e) {
return null;
} return null;
}
}
target:
//获取事件操作对象
function getTarget(evt) {
//var e = window.event || arguments.callee.caller.arguments[0]; //获取触发事件的源对象
var e = getEvent(evt); //获取触发事件的源对象 if (typeof(e) != "undefined") {
try {
var target = (typeof(e.srcElement) != "undefined") && e.srcElement ? e.srcElement : e.target;
} catch (ex) {
target = null;
} } else {
target = null;
} return target;
}
事件冒泡:
//事件冒泡
function preventEvent() {
//取消事件冒泡
//var e = arguments.callee.caller.arguments[0] || event; //若省略此句,下面的e改为event,IE运行可以,但是其他浏览器就不兼容
var e = getEvent(); //获取触发事件的源对象 if (e && e.stopPropagation) {
// this code is for Mozilla and Opera
e.stopPropagation();
} else if (window.event) {
// this code is for IE
window.event.cancelBubble = true;
}
}
最新文章
- 盘点销售一体机 打印POS一体的设备。 打印,盘点,销售PDA(手持终端)+移动销售POS软件
- Unity手撸2048小游戏——自动生成4*4棋盘
- 我和Java有个约定
- Python基础9- 字典
- oracle修改连接空闲自动断开
- Codeforces Round #261 (Div. 2)
- PowerDesigner自定义列和过滤器
- 关于jQuery中.attr()和.prop()的问题
- SOAP web service用AFNetWorking实现请求
- 【ADO.NET】2、各种版本的 简单登录验证
- div+js 弹出层
- 在winform中怎样实现好看的treeview样式
- 微服务架构:Eureka参数配置项详解
- 为Oracle GoldenGate准备数据库
- xpath 根据根节点找数据
- Linux系统minicom命令详解
- Webservice之axis
- UIDatePicker 时间选择器
- QOpenglWidget 与QGLWidget的选择
- js url?callback=xxx xxx的介绍