JavaScript基础(三) 事件

事件流

事件流意味着页面上不止一个元素可响应相同的事件
如:当我们点击页面上的按钮时,实际上我们是点击了按钮,以及按钮的容器——整个页面。

事件冒泡
window ← document ← html ← body ← div
由点击的位置扩散到整个界面

事件捕获
由整个界面缩小到点击的位置
window → document → html → body → div

DOM事件流
包含事件冒泡和事件捕捉

传统事件处理程序指派方法

一、取得id = div1的元素节点。
var div1 = document.getElementById("div1");
//设置元素节点的onclick属性
div1.onclick = function(){alert("div1 被点了");}

function divClick(){alert(‘点中’);}
div1.onclick=divClick;

注意: 1、绑定事件处理程序时,后面不能加括号
2.必须确保在元素之后设置事件处理程序。
3.可在window.onload中指定处理程序。
window.onload = function(){}页面加载完成后自动调用
二、在事件属性中指定
<div id="div1" onclick="alert("div1 被点了.");" ></div>

现代事件处理程序指派方法

DOM
var div1 = document.getElementById("div1");
//添加事件处理程序,true:捕获阶段; false:冒泡阶段
div1.addEventListener("click",click1,false);
//删除事件处理程序
div1.removeEventListener("click",click1,false);
function click1(){
    alert("div1 is click...");
}
提示:删除事件处理程序时,阶段要相同。 传统事件处理程序是在冒泡阶段添加的。

事件处理程序的返回值
利用事件处理程序的返回值,可以影响事件的默认行为
超链接例子:
<a href="a.html" onclick="return confirm(‘要跳转吗?‘)">a.html</a>
注意:是根据返回结果是true或false来确定是否执行默认行为。

得到event对象
DOM
div1.onclick = function(){
    var e = arguments[0];//event对象
}
或者:
在元素标签内设置事件的时候,作为函数的参数直接传过去,this当前节点,event就是event对象
<div onclick="text(this,event)"></div>
函数:
function text(obj,e){
    

event的属性和方法
获取事件类型:e.type
获取键盘码:keydown/keyup
检测是否按下e.shiftKey,e.altKey,e.ctrlKey
获取客户坐标:e.clientX,e.clientY  //基于body的坐标
获取屏幕坐标:e.screenX,e.screenY
获取基于当前元素的坐标:e.offerX,e.offerY

获取事件源    e.srcElement
获取字符的编码    e.keyCode
获取字符    e.key
阻止默认行为    e.returnValue=false    //可以用于限制键盘的输入类型
中止冒泡传播    e.cancelBubble=true

阻止默认事件:
<a href="http://www.baidu.com" onclick="stop(event)">百度</a>
<script>
    function stop(event) {
        if (event.preventDefault()) {

event.preventDefault();  
        } else {

event.returnValue = false;

}

}
</script>

阻止跳转:
<a href="javascript:void(0)">不跳转</a>

鼠标事件
常见事件
click:单击
dblclick:双击
mousedown:鼠标按下
mouseup:鼠标抬起
mouseout、mouseleave:鼠标离开
mousemove:鼠标移动
mouseenter、mouseover:鼠标进入
事件发生顺序
单击:mousedown,mouseup,click
双击:mousedown,mouseup,click,mousedown,mouseup,click,doubleclick

键盘事件
常见事件
keydown   按下
keypress  可以阻止键盘输入0
keyup      松开
事件发生顺序
字符键:keydown,keypress,keyup
非字符键:keydown,keyup

HTML事件
常见事件
load:文档加载完成
select:被选中的时候
change:内容被改变
focus:获取焦点
resize:窗口尺寸变化
scroll:滚动条移动
blur: 失去焦点
submit: 用于阻止表单提交

<input type="text" id="name" onselect="mySelect(this.id)">

<input type="text" id="name2" onchange="myChange(this.id)">

<input type="text" id="name3" onfocus="myFocus()">

<script>
    window.onload = function () {

console.log("文档加载完毕!");

};

/*window.onunload = function () {

alert("文档被关闭!");

};*/

/*打印选中的文本*/

function mySelect(id) {

var text = document.getElementById(id).value;

console.log(text);

}

/*内容被改变时*/

function myChange(id) {
 
       var text = document.getElementById(id).value;

console.log(text);

}

/*得到光标*/

function myFocus() {

console.log("得到光标!");

}

/*窗口尺寸变化*/

window.onresize = function () {

console.log("窗口变化!")

};

/*滚动条移动*/

window.onscroll = function () {

console.log("滚动");

}

</script>

原文地址:https://www.cnblogs.com/snzd9958/p/10034208.html

时间: 2024-11-10 12:09:44

JavaScript基础(三) 事件的相关文章

javascript 基础之事件(event)-------1

  如果在js中想触发另一个元素的onchang,onclick 等方法可以使用obj.fireEvent("onchange");   来实现: html: <input type="checkbox" id="mycheckox2" onclick="firemycheckoxonclick()"> javascript .csharpcode, .csharpcode pre { font-size: sma

JavaScript基础三

1.10 关于DOM的事件操作 1.10.1 JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元素的API.比如让盒子移动.变色.轮播图等. BOM:浏览器对象模型,操作浏览器部分功能的API.比如让浏览器自动滚动. 1.10.2 事件 JS是以事件驱动为核心的一门语言. 事件的三要素 事件的三要素:事件源.事件.事件驱动程序. 比

JavaScript基础—dom,事件

Js基础-DOM 1:dom:文档对象模型 Dom就是html页面的模型,将每个标签都作为一个对象,js通过调用dom中的属性,方法就可以对网页中的文本框,层等元素进行编程控制.Dom就是一些让javascript能操作html页面控件的类,函数. 这就是文档对象模型.按照xml文档的理解就可以. à页面中的属性,标签要是没有注明给那个对象,则统一时给window的,我们都可以通过window点击出来,进行操作,这个js中理解的一样.但是我们现在通过document.getElementById

javascript 基础三

记着来上第三篇javascript的笔记,也是红宝书的最后一篇笔记.笔记内容只到书的大半部分,不是完整的笔记. 附上evernote的公开链接.  Object类型 引用类型的值(对象)是引用类型的一个实例.引用类型是一种数据结构,用于将数据和功能组织在一起. 引用类型也称对象定义,描述的是一类对象所具有的属性和方法. 对象是某个特定引用类型的实例,新对象用new后跟一个构造函数来创建. 创建Object实例的方式有二: 构造函数 new操作符后面跟Object构造函数 对象字面量 目的是简化创

javascript基础——鼠标事件,系统对话框等

1.鼠标事件 (1).onclick:用户点击鼠标左键,以及当焦点在一个按钮上时,用户按Enter键时,发生onclick事件 (2).ondblclick:用户双击鼠标左键时,发生ondblclick事件 (3).onmousedown:用户按下任意鼠标按钮的时候,发生onmousedown事件 (4).onmouseout:当光标在一个元素上,并且用户将其移出元素边界时,发生onmouseout事件 (5).onmouseover:当光标在一个元素之外,并且用户将移动到该元素上时,发生onm

JavaScript 基础(三) 对象 条件判断

JavaScript的对象是一种无序的集合数据类型,它是由若干键对组成. var guagua = { name:'瓜瓜', birth:1988, school:'No.1 Middle School', height:1.70, weight:65, score:null }; JavaScript用一个{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开.注意,最后一个键值对不需要在末尾加,, 如果加了,有的浏览器(如低版本的IE)将报错. 上述对象申明了一个name属性,值

javascript基础:事件

事件: 概念:某些组件被执行了某些操作后,触发某些代码的执行 *  事件:某些操作,如:单击,双击,键盘按下了,鼠标移动了 *  事件源:组件.如:按钮   文本输入框.... *  监听器:代码 *  注册监听:将事件,事件源,监听器结合在一起.当事件源发生了某个事件,则触发执行某个监听器代码 常见的事件: 1.点击事件: 1.onclick(单击事件) 当用户点击某个对象时调用的事件句柄 2.ondblclick(双击事件) 2.焦点事件 1.onblur:失去焦点 一般用于表单校验 2.o

javascript基础-提交事件

制作百度用户注册页面实现输入内容的验证 制作QQ号码申请页面,实现页面内容输入的验证 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

一步步学习javascript基础篇(8):细说事件

终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能阅读了.有了事件,我们可以通过键盘或是鼠标和页面交互了,通过我们不同的操作页面给出不同的响应.好了,开始我们今天的分析吧. DOM0级事件处理方式 什么是DOM0级? 其实世上本来没有DOM0级,叫的人多了就有了DOM0级. 在1998 年 10 月 DOM1级规范成为 W3C 的推荐标准,在此之前

javaScript中的事件三

javaScript中的事件三 先看两种错误的写法,他们的目的都是:添加两个事件: 错误方式一: window.onload=function (){ alert('event 1'); } window.onload=function (){ alert('event 2') } 错误方式二: window.onload=function (){ var obj=document.getElementById("but"); obj.onclick=function(){ alert