JS之事件名称与事件对象

news/2024/7/19 13:32:22 标签: 事件, ev, js, mouse

js之事件">JS之事件

事件名称">事件名称

js xml">鼠标事件一般加给div 
键盘事件一般加给document 输入框
提交与重置事件是加给整个form表单
js-tag"><js-title">head>
    js-tag"><js-title">style js-attribute">type=js-value">"text/css">
        js-class">.redDivjs-rules">{
            js-rule">js-attribute">width:js-value">js-number">200px;
            js-rule">js-attribute">height:js-value">js-number">200px;
            js-rule">js-attribute">background-color:js-value">red;
        js-rule">}
        js-tag">bodyjs-rules">{
        js-rule">// 为了出现纵向滚动条
            js-attribute">height:js-value">js-number">3000px;
        js-rule">}
    js-tag"></js-title">style>
js-tag"></js-title">head>
js-tag"><js-title">body>
    js-tag"><js-title">div js-attribute">class=js-value">"redDiv">js-tag"></js-title">div>
    js-tag"><js-title">form js-attribute">action=js-value">"" js-attribute">id=js-value">"uName">
        js-tag"><js-title">input js-attribute">type=js-value">"text" js-attribute">id=js-value">"uName" />  // 创建文本框
        js-tag"><js-title">input js-attribute">type=js-value">"submit" js-attribute">id=js-value">"submit" />  // 创建提交按钮
        js-tag"><js-title">input js-attribute">type=js-value">"reset" js-attribute">id=js-value">"reset" />  // 设置重置按钮
    js-tag"></js-title">form>
js-tag"></js-title">body>
js-tag"><js-title">script js-attribute">type=js-value">"text/javascript">
    js-keyword">var redDiv = document.getElementsByClassName(js-string">'redDiv')[js-number">0];
    js-keyword">var reg = document.getElementById(js-string">'reg');
    js-keyword">var uName = document.getElementById(js-string">'uName');

    js-comment">// 鼠标事件
    redDiv.onmousemove = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"鼠标移动的时候触发");
    }
    redDiv.onclick = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"单击事件");
    }
    redDiv.ondblclick = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"双击事件");
    }
    redDiv.onmousedown = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"鼠标按下事件");
    }
    redDiv.onmouseup = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"鼠标抬起事件");
    }
    redDiv.oncontextmenu = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"鼠标右击事件");
        js-comment">// 不添加返回值,右击时会出现菜单栏
        js-comment">// 添加这个返回值,右击时菜单栏不会再出现
        js-keyword">return js-literal">false;
    }

    js-comment">// over和out会在鼠标从redDiv的父级移到子集的时候触发,先触发out,再触发over
    js-comment">// leave和enter从redDiv(父级)移到blueDiv(子集)的时候不会触发
    js-comment">// 只有鼠标离开/移入整个redDiv的时候才会触发
    redDiv.onmouseover = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"over鼠标移入");
    }
    redDiv.onmouseout = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"out鼠标移出");
    }
    redDiv.onmouseenter = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"enter鼠标移入");
    }
    redDiv.onmouseleave = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"leave鼠标移出");
    }

    js-comment">// 键盘事件
    document.onkeydown = js-function">js-keyword">functionjs-params">(){
    js-comment">// 按下任意键时触发
        console.log(js-string">"down键盘按下");
    }
    document.onkeypress = js-function">js-keyword">functionjs-params">(){
    js-comment">// 按下任意键触发
        console.log(js-string">"press键盘按下");
    }
    js-comment">// press与down的区别
    js-comment">// press区分大小写,但不支持特殊键
    js-comment">// dowm 不区分大小写,但支持特殊键
    document.onkeyup = js-function">js-keyword">functionjs-params">(){
    js-comment">// 松开键时触发
        console.log(js-string">"键盘拾起事件");
    }

    js-comment">// 表单事件
    uName.oninput = js-function">js-keyword">functionjs-params">(){
        console.log(input内容发生改变后触发);
    }
    uName.onchange = js-function">js-keyword">functionjs-params">(){
        console.log(change内容发生改变后触发);
    }
    js-comment">// text框中,移入一个英语单词,每当输入一个字母时,就会触发oninput事件
    js-comment">// 当输入完毕,离开文本框时,会触发onchange事件
    uName.onfocus = js-function">js-keyword">functionjs-params">(){
    js-comment">// 点击text文本框时触发
        console.log(js-string">"聚焦");
    }
    js-comment">// 再点击其他地方时,触发onblur事件
    uName.onblur = js-function">js-keyword">functionjs-params">("失焦");

    // 给js-title">form表单绑定事件
    js-title">reg.js-title">onsubmit = js-title">functionjs-params">(){
        console.log(js-string">"提交");
        js-comment">// 没有return false的时候,点击提交按钮会刷新页面
        js-comment">// 有return false的时候,点击提交按钮不会刷新页面
        js-keyword">return js-literal">false;
    }
    reg.onreset = js-function">js-keyword">functionjs-params">(){
    js-comment">// 没有return false的时候,可以重置text框体内容
    js-comment">// 有return false的时候,重置将会失败
        console.log(js-string">"重置");
        js-keyword">return js-literal">false;
    }

    js-comment">// window事件
    window.onresize = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"窗口尺寸发生变化的时候触发");
    }
    window.onscroll = js-function">js-keyword">functionjs-params">(){
    js-comment">// 前提是要有滚动条
        console.log(js-string">"窗口内容滚动的时候触发");
    }
    js-comment">// 图片加载完成后 会触发这个方法
    img.onload = js-function">js-keyword">functionjs-params">(){

    }
    js-comment">// 窗口加载完毕后,会触发这个方法
    window.onload = js-function">js-keyword">functionjs-params">(){
        console.log(js-string">"窗口加载完毕后触发");
    }
js-tag"></js-title">script>

事件对象">事件对象

js xml">js-tag"><js-title">head>
    js-tag"><js-title">meta js-attribute">charset = "js-attribute">utd-8" />
    js-tag"><js-title">title>事件对象js-tag"></js-title">title>
    js-tag"><js-title">style js-attribute">type=js-value">"text/css">
        js-class">.bodyjs-rules">{
            js-rule">js-attribute">height:js-value">js-number">3000px;
        js-rule">}
        js-class">.redDivjs-rules">{
            js-rule">js-attribute">width:js-value">js-number">200px;
            js-rule">js-attribute">height:js-value">js-number">200px;
        js-rule">}
        js-tag">pjs-rules">{
            js-rule">js-attribute">margin:js-value">js-number">0px;
            js-rule">js-attribute">height:js-value">js-number">100px;
            js-rule">js-attribute">margin-left:js-value">js-number">100px;
            js-rule">js-attribute">background-color:js-value">blue;
        js-rule">}
    js-tag"></js-title">style>
js-tag"></js-title">head>
js-tag"><js-title">body>
    js-tag"><js-title">div js-attribute">class = "js-attribute">redDiv">
        js-tag"><js-title">p>js-tag"></js-title">p>
    js-tag"></js-title">div>
js-tag"></js-title">body>
js-tag"><js-title">script js-attribute">text=js-value">"text/javascript">
    js-keyword">var dic = document.getElementsByClassName(js-string">'redDiv')[js-number">0];
js-comment">/*
为什么JS事件函数里面都有一个参数(ev)?
因为ev事件的参数,在ev里面包含了事件触发时的参数,比如click事件中的ev中包含着e.pageX,e.pageY,keyDown事件中
包含着ev.keyCode等,在ie中,ev是全局的,可以通过window.event来获取,在其他浏览器中都是作为参数传入的.
所以好多事件函数都这样写:
mydiv.onclick = function(ev){
    if(!ev){
        ev = window.event; // 这句话也可以简写成:ev = window.event || ev;
    }
}
这么写为了兼容各个浏览器
在火狐浏览器中,事件绑定的函数要获取到事件本身,需要从函数中传入,而IE等浏览器则可以直接使用event或者window.event得到事件本身.
这一句话的用途:需要获取和事件相关的信息时使用
*/
    redDiv.onclick = js-function">js-keyword">functionjs-params">(ev){
        evObj = window.event || ev;
        js-comment">// 触发事件的元素(触发事件的元素不一定是绑定事件的元素)
        js-comment">// 各元素之间有关联的时候,触发一个事件,可能会影响到另外一个事件的触发
        console.log(evObj.target);
        js-comment">// 鼠标距离窗口顶部的坐标 p标签本身有一个marginTop
        console.log(evObj.clientY);
        js-comment">// 鼠标距离页面顶部的坐标
        console.log(evObj.pageY);
        js-comment">// 鼠标举例target顶部的坐标
        console.log(evObj.offsetY);
    }
    document.onkeypress = js-function">js-keyword">functionjs-params">(ev){
    js-comment">// keyCode标示按哪一个按键
        console.log(js-string">"press" + ev.keyCode);
    }
    document.onkeydown = js-function">js-keyword">functionjs-params">(ev){
        console.log(ev.keyCode);
        js-keyword">if(ev.keyCode == js-number">66){
            console.log(js-string">"按了B");
        }
        js-comment">// ev.metaKey
        js-keyword">if(ev.keyCode == js-number">66 && ev.metaKey){
            console.log(js-string">"按了command+b");
        }
    }
js-tag"></js-title">script>

http://www.niftyadmin.cn/n/1829082.html

相关文章

创Python规划2

于Milang的IDE多年的编辑后&#xff0c;&#xff0c;然后按F5关于实施。这将是在下面Output输出形式“Hello, World!”弦&#xff0c;例如下面的附图&#xff1a;恭喜你&#xff0c;你编写最简单的Python程序已经完毕&#xff0c;已经成为一个Python的程序猿了。对于一门语言的…

[OFC]Mellanox发布首个200Gb/s硅光子设备

[OFC]Mellanox发布首个200Gb/s硅光子设备 讯石光通讯网 发布时间:2016/4/6 8:18:20 编者:iccsz 点击143次 摘要&#xff1a;Mellanox日前在OFC 2016上展示了全新的50Gb/s硅光子调制器和探测器。它们是Mellanox LinkX系列200Gb/s和400Gb/s电缆和收发器中的关键组件。这对…

WPF PasswordBox MVVM 实现

由于PasswordBox.Password属性非依赖属性&#xff0c;所以不能作为绑定的目标&#xff0c;以下是本人的MVVM实现方法。 PasswordBox.Password与TextBox.Text同步&#xff0c;TextBox只是为了演示&#xff0c;实际使用的是TextBox.Text绑定的Source。 通过Behavior添加PasswordC…

___________________________构造方法与重载__________________________

1.构造方法的作用&#xff1a;用来初始化成员变量。 2.构造方法的结构&#xff1a; 访问修饰符 构造方法名&#xff08;&#xff09; { //初始化代码 } 3.一个类中可以有N个构造。 4.构造方法的定义&#xff1a;在同一个类中&#xff0c;方法名和类名相同&#xff0c;没…

JS之对象与正则运算符

JS对象 JavaScript Array对象 Array对象用于在单个变量中储存多个值 创建Array对象的语法 var arr1 new Array(); // 创建空数组 var arr2 new Array(5); // 创建长度5 var arr2 new Array("8"); // 长度是1,[8] var arr3 new Array(1,2,3,4,5,7); // 创建长…

Unity Standard Assets 简介之 2D

这篇介绍2D资源包。 文件夹比较多&#xff0c;但是很多都是prefab的基础资源&#xff0c;所以我们只介绍 Prefabs 和 Scripts 文件夹。 Prefabs文件夹&#xff1a; CharacterRobotBoy&#xff1a; 提供一个默认的2D角色&#xff0c;具备移动、跳跃等基本功能。 Scripts文件夹&a…

内网渗透的一些小总结(长期更新)

WMIC远程运行命令wmic /node:host /user:administrator /p 密码 process call create “c:\windows\temp\foobar.exe” schtasks计划任务远程运行schtasks /create /tn foobar /tr c:\windows\temp\foobar.exe /sc once /st 00:00 /S host /RU System schtasks /run…

CSS中background-attachment的值

background-p_w_upload值scrool&#xff1a;默认值&#xff0c;背景随页面滚动而移动&#xff0c;即背景和内容绑定&#xff0c;当页面的其余部分滚动时&#xff0c;背景图像不会移动。fixed&#xff1a; 背景图相对于视口固定&#xff0c;当页面的其余部分滚动时&#xff0c;背…