js事件处理-整理
<!--
作者:gentiana@163.com
时间:2016-3-10
描述:js事件处理
-->
<!DOCTYPE html>
<html>
<head>
<meta
charset="UTF-8">
<title>js事件处理</title>
</head>
<body>
<form
action="http://www.baidu.com"
method="post"
>
<button
id="btn">按钮123</button>
</form>
<script>
//添加事件
var addEvent =
function(
obj, type, fn )
{
if
(obj.addEventListener){
obj.addEventListener( type, fn,
false
);
}else
if
(obj.attachEvent)
{
obj["e"+type+fn]
= fn;
obj.attachEvent(
"on"+type,
function()
{
obj["e"+type+fn].call(obj, window.event);
}
);
}
};
var test =
function(e){
alert('Listener');
stopEvent(e);
}
var test2 =
function(){
alert('remove');
}
var btn = document.getElementById('btn');
addEvent(btn,
'click', test);
//移除事件
var removeEvent =
function(
obj, type, fn )
{
if
(obj.removeEventListener){
obj.removeEventListener( type, fn,
false
);
}
else
if
(obj.detachEvent)
{
obj.detachEvent(
"on"
+type, obj["e"+type+fn]
);
obj["e"+type+fn]
= null;
}
};
//阻止事件(包括冒泡和默认行为)
var stopEvent =
function(e){
e = e || window.event;
if(e.preventDefault)
{
e.preventDefault();
e.stopPropagation();
}else{
e.returnValue =
false;
e.cancelBubble =
true;
}
};
//仅阻止事件冒泡
var stopPropagation =
function(e)
{
e = e || window.event;
if
(e.preventDefault)
{
e.cancelBubble =
true;
}
else
{
e.stopPropagation();
}
};
//仅阻止浏览器默认行为
var preventDefault =
function(e)
{
e = e || window.event;
if(e.preventDefault)
{
e.preventDefault();
}else{
e.returnValue =
false;
}
}
//取得事件源对象
var getEventTarget =
function(e){
e = e || window.event;
var target = event.srcElement ? event.srcElement : event.target;
return target;
};
</script>
</body>
</html>
js事件处理-整理的更多相关文章
- 常用js方法整理common.js
项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...
- js事件处理 —— 详解
对于JS事件处理分为四部分: 1.html事件处理程序 直接添加到HTML结构中 解析:用html处理程序可以直接在button元素里直接调用,但是维护性不是很方便 <!DOCTYPE html ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- JS知识点整理(二)
前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...
- Vue.js事件处理
Vue.js事件处理 1.v-on指令 用法如下:使用v-on:指令指定其执行的具体内容或者方法名即可. <button v-on:click='num++'>giao</butto ...
- 常用js代码整理、收集
个人整理了一下个人常用到的一些js代码,以方便学习以及日后使用,或许有一些是个人之前从网上摘下来的,但是不记得是具体从哪里来的了,如果你看到有一段代码跟你的文章很相似甚至一样,请不要气愤,请告诉我,我 ...
- 工作中常用的JS函数整理分享(欢迎大家补充)
今年在渣X工作整理的常用JS函数 今年来了渣X工作,我所在这个部门分工很奇怪,CSS竟然有专门的人在搞,开发PHP的人员需要处理JS,以至于有时候开发起来不是那么得心应手,感觉把JS和CSS拆开就像是 ...
- 常用js方法整理(个人)
开头总要有点废话 今天想了下,还是分享下自己平时积累的一些实用性较高的js方法,供大家指点和评价.本想分篇介绍,发现有点画蛇添足.整理了下也没多少拿得出手的方法,自然有一些是网上看到的个人觉得很有实用 ...
- JS知识点整理(一)
前言 本文把平时的一些读书笔记和理解进行了整理归纳,包含一些易混淆.遗漏的知识点,也会配上一些例子,可能不是很完整,还会有点杂,但也许会有你需要的(目前先整理了一部分,笔记有点多,后续会持续更新). ...
随机推荐
- GLSL/C++ 实现滤镜效果
入门效果之浮雕 "浮雕"图象效果是指图像的前景前向凸出背景.常见于一些纪念碑的雕刻上.要实现浮雕事实上很easy.我们把图象的一个象素和左上方的象素进行求差运算.并加上一个灰度.这 ...
- 工作流JBPM_day01:2-HelloWorld
工作流JBPM_day01:2-HelloWorld 新建一个java工程Jbpm4.4 拷贝helloworld.jpdl.xml和helloworld.png文件出来压缩成helloworld.z ...
- Linux netstat 命令
1. netstat命令用于显示系统的网络信息,包括网络连接 .路由表 .接口状态2. 一般我们使用 netstat 来查看本机开启了哪些端口,查看有哪些客户端连接 常见用法如下: [root@loc ...
- Triton调试记录
先编译Release版本 先从下拉列表选择Release-MT-DLL,然后选中Triton-vc14工程, 修改项目属性配置为Release-MT-DLL-NODX,NODX的意思是不使用Direc ...
- UITouch 的主要方法:
1. UITouch 的主要方法: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; - (void)touchesM ...
- 《C++ Primer Plus》14.2 私有继承 学习笔记
C++(除了成员变量之外)还有另一种实现has-a关系的途径——私有继承.使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员.(如果使用保护继承,基类的公有成员和保护成员都将称为派生类的保 ...
- Java的String详解
Java的String详解 博客分类: Java javaStringString详解常用方法 Java的String类在开发时经常都会被使用到,由此可见String的重要性.经过这次认真仔细的学习 ...
- [置顶] 数据库优化实践【MS SQL优化开篇】
数据库定义: 数据库是依照某种数据模型组织起来并存在二级存储器中的数据集合,此集合具有尽可能不重复,以最优方式为特定组织提供多种应用服务,其数据结构独立于应用程序,对数据的CRUD操作进行统一管理和控 ...
- Delphi的保存文件对话框-TsaveDialog
TsaveDialog继承于TOpenDialog,只介绍以下几个内容: 1.TsaveDialog如何设定为保存的默认路径是当前程序所在的文件夹: 默认目录是当前程序所在目录应设置属性Initial ...
- SRC常见WEB漏洞系列之HTTP-HOST头攻击
一.背景: web程序需要知道网站的域名比较麻烦,需要使用HTTP的 host头字段: <?php _SERVER["HTTP_HOST"] ?> @app.route ...