JavaScript事件方法(实例讲解)


Posted in Javascript onJune 27, 2017

废话不多说,直接上代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
div{
background-color:lightblue;
margin:5px;
padding:5px;

}
</style>
<script src="Scripts/EventUtil.js" type="text/javascript"></script>
<script type="text/javascript">
var changeSize = function () {
var oTxt = document.getElementById('txt');
oTxt.size += 5;
}

var showMessage = function () {
alert('单击事件');
alert('事件类型:' + event.type);
}

window.onload = function () {
document.getElementById('btn1').onclick = 
function () {
alert('btn1单击事件');
}
}
</script>
</head>
<body>
<input type="text" id="txt" size="10"/>
<input type="button" value="加长" onclick="changeSize()"/>
<input type="button" value="点我" onclick="showMessage()"/>
<input type="button" id="btn1" value="按钮" />

<p> 只有三次抽奖机会! </p>
<input id="btnLottery" type="button" value="抽奖"/>
<div id="divResult">

</div>
<script type="text/javascript">
var times = 0; //次数
var arr = ['一千万', '女神一枚', '布加迪威龙', '海景别墅', '全英雄全皮肤','无限充值','逢赌必赢'];

var btnLottery = document.getElementById('btnLottery');
btnLottery.onclick = function () {
if(times >= 3)
{
alert("你已经抽完三次了!");
this.onclick = null;
return;
}
times++;
var n = Math.floor(Math.random() * arr.length); //数组中随机抽一个
var divResult = document.getElementById('divResult');
divResult.innerHTML = "<p>您是第"+ times +"次抽奖,抽中的是:"+ arr[n] +"</p>"
}
</script>

<input type="button" id="btnDOM2Test" value="测试DOM2事件处理"/>
<input type="button" id="btnDelDOM2Test" value="测试DOM2删除事件处理"/>
<script type="text/javascript">
var sayHi = function () {
alert('Hello!');
}

var btnDOM2Test = document.getElementById('btnDOM2Test');
btnDOM2Test.addEventListener('click', function () {
alert('您单击的是:' + this.value);
}, false);

btnDOM2Test.addEventListener('click', sayHi, false);

var btnDelDOM2Test = document.getElementById('btnDelDOM2Test');

var del = function () {
btnDOM2Test.removeEventListener('click', function () { 
alert('您单击的是:' + this.value);
}, false);
btnDOM2Test.removeEventListener('click', sayHi, false);
}
btnDelDOM2Test.addEventListener('click', del, false);

//IE9+
//btnDOM2Test.attachEvent("onclick", sayHi);
//btnDOM2Test.attachEvent("onclick", function () {
// alert("IE事件绑定!");
//});
</script>

<label for="txtPhoneNum">请输入手机号码</label>
<input type="text" id="txtPhoneNum"/>
<script type="text/javascript">
var txtPhoneNum = document.getElementById('txtPhoneNum');
EventUtil.addHandler(txtPhoneNum, 'keypress', function () {
var e = EventUtil.getEvent();
//alert(e.keyCode);
//都不是数字
if (e.keyCode < 48 || e.keyCode > 57) {
EventUtil.preventDefault(e);
}
});
</script>

<form id="frmDemo" action="submitPage.htm">
<h3>用户登录</h3>
<label for="txtUID">账号:</label>
<input type="text" id="txtUID"/><br />
<label for="txtPWD">密码:</label>
<input type="password" id="txtPWD"/><br />
<input type="button" id="btnSubmit" value="登录"/>
</form>

<script type="text/javascript">
var txtUID = document.getElementById('txtUID');
var txtPWD = document.getElementById('txtPWD');
var btnSubmit = document.getElementById('btnSubmit');
var frmDemo = document.getElementById('frmDemo');

EventUtil.addHandler(btnSubmit, 'click', function () {
alert('我提交了!');
if (txtUID.value == "admin") {
frmDemo.submit(); //提交
}
else {
return;
}
});

EventUtil.addHandler(txtUID, 'keydown', function () {
var e = EventUtil.getEvent(); //Enter.keyCode = 13;
if (e.keyCode == 13) {
txtPWD.focus();
EventUtil.preventDefault(e);
}
});
</script>

<div onclick="this.style.backgroundColor='red'; event.cancelBubble=true;">div1
<div onclick="this.style.backgroundColor='blue';">div2
<div onclick="this.style.backgroundColor='black';">div3
</div>
</div>
</div>
</body>
</html>

以上这篇JavaScript事件方法(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascrip客户端验证文件大小及文件类型并重置上传
Jan 12 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
Jan 16 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
理解JS事件循环
Jan 07 Javascript
jQuery滚动新闻实现代码
Jun 26 Javascript
使用伪命名空间封装保护独自创建的对象方法
Aug 04 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
Mar 09 Javascript
AngularJS 单选框及多选框的双向动态绑定
Apr 20 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
让网站自动生成章节目录索引的多个js代码
Jan 07 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
简单谈谈原生js的math对象
Jun 27 #Javascript
Vue.js实现一个todo-list的上移下移删除功能
Jun 26 #Javascript
AngularJS 最常用的八种功能(基础知识)
Jun 26 #Javascript
基于jQuery封装的分页组件
Jun 26 #jQuery
深入理解Angular中的依赖注入
Jun 26 #Javascript
详解AngularJS2 Http服务
Jun 26 #Javascript
详解用node.js实现简单的反向代理
Jun 26 #Javascript
You might like
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
canvas绘制七巧板
2017/02/03 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
深入理解angular2启动项目步骤
2017/07/15 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
微信小程序实现订单倒计时
2020/11/01 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
python输出决策树图形的例子
2019/08/09 Python
python自动发微信监控报警
2019/09/06 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
美国医疗用品、医疗设备和家庭保健用品商店:Medical Supply Depot
2018/07/08 全球购物
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
商场主管竞聘书
2014/03/31 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
电力工程合作意向书
2015/05/11 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL