每个函数都有4个默认对象
arguments 保存着实际传入的参数,集合列表
return 有两个功能,打断函数和返回函数值
this 谁调用的函数,this就是谁
event 事件对象

事件

  box.onlick=function(){}
表示点击 box 触发了一个函数。
事件包含三点:
1 谁触发的
2 触发了什么事件
3 触发的事件执行了什么动作 焦点事件: 使浏览器能区分用户输入的对象。
当一个元素有焦点的时候可以接受用户输入。
不是所有元素都有焦点,能响应用户输入的才有焦点。
onfocus 当元素获得焦点时。
onblur 当元素失去焦点时。 文本域的空白符会被识别。
选中: obj.select();
obj 文本域 textarea ,支持 select ,但比如 p 标签不支持。

事件对象 event 对象

  当一个事件发生的时候和当前事件发生有关的详细信息,都会被临时保存在一个指定的地方。
event 对象,供我们需要时调用。像飞机的黑匣子。 当在页面上发生了某事件的时候,会被事件对象记录。
window.onclick=function(e){
  console.log(e) //MouseEvent {isTrusted: true…}
}
  事件对象的兼容处理
e=event||window.event;
ie/谷歌中: event 是一个内置的全局对象。
标准下: 事件对象是通过事件函数的第一个参数传入的。
window.onclick=function(e,f){
  //var f;
  console.log(f) //undefined
}
  没有事件发生:输出 undefined
console.log(window.event) //undefined
console.log(event) //undefined
  形式参数和实际参数
形式参数:
相当于在函数内定义一个局部变量。 如果一个函数是被事件调用的,这个函数定义的第一个参数就是事件对象。 arguments[0] 实际参数的第一个值。
window.onclick=function(e){
  console.log(arguments[0]) //MouseEvent {isTrusted: true, screenX: 1027…}
}
  没有事件调用时: fn(1,2) 输出3
function fn(a,b){
  console.log(a+b) //3
}
fn(1,2)
  有事件调用时: 还是输出3
function fn(a,b){
  console.log(this) //window
  //
  console.log(a+b) //3
}
window.onclick=function(){
  fn(1,2) //3
}
  clientX: number
clientY: number
当一件事件发生的时候,鼠标到页面的可视距离 onmousemove 当鼠标移动的时候
当鼠标在一个元素上移动的时候触发。触发频率不是像素,而是时间间隔。
在一个指定的时间内,如果鼠标位置和上次的位置发生变化,就会触发。 onmousedown 鼠标按下。
onmouseup 鼠标抬起。 onclick 是按下再抬起。 onmouseover 是鼠标移上时触发的事件。
onmouseout 是鼠标移出的时候触发事情。

事件冒泡

  当一个元素接收到事件的时候,会把接收的所有传递父级。一直到顶层的 window 对象。
<div id="d1">
  <div id="d2">
    <div id="d3"></div>
  </div>
</div>
  点击d3时会把事件传到d2、d1。如果大家都有点击事件时,点击d3,会相当于全部都点击了。
如果d1、d2没有点击事件时,其实点击事件也是冒泡到其身上的,只是没有执行。 阻止事件冒泡:
e.stopPropagation() //常用方式,标准浏览器。不支持ie
e.cancelBubble=true; //不支持ie
return false //不支持ie
window.cancelBubble=true; //谷歌、ie
  阻止事件冒泡兼容
e=event||window.event;
e.cancelBubble=true;
e.stopPropagation();
  例如:
box.onclick=function(ev){
  var e=ev||window.event;
    alert("我是box2");
    e.cancelBubble=true;
    e.stopPropagation();
}

默认事件

  浏览器本身会存在一些默认事件,比如鼠标右键的菜单。
阻止默认事件:
如果不阻止,点击鼠标右键时首先会弹出1,再弹右键菜单。
阻止后不弹出右键菜单。
document.oncontextmenu=function(ev){
      var e=ev||window.event;
      e.returnValue=false; //ie中
      e.preventDefault();
      alert(1)
}

键盘事件

  onkeydow 当按下键盘的时候。

js函数事件对象的更多相关文章

  1. JS键盘事件对象之keyCode、charCode、which属性对比

    先说一些有关键盘事件的事项:用js实现键盘记录,要关注浏览器的三种按键事件类型,即keydown,keypress和keyup,它们分别对应onkeydown. onkeypress和onkeyup这 ...

  2. js event事件对象概括

    事件是用户或者浏览器自身执行的动作,而响应某个事件的函数就叫做事件处理程序或者叫事件侦听器. 定义事件处理程序可以大致分为以下三种: 一.html事件处理程序 元素支持的每种事件都可以用一个与之对应的 ...

  3. JS函数和对象(一)

    在本文章中,将对JS中的函数和对象进行一些讲解,不对之处还请之处 一.JS中的函数 1.1无参函数 其形式如下代码所示 function box(){ alert("我是一个函数,只有被调用 ...

  4. node js 函数和对象

    1.函数 1.1匿名函数 函数声明 function fn(){  } 函数表达式 var fun=function(){  } 函数名称和函数名称()的区别 fun/fn   fun()/fn() ...

  5. 深入理解js——函数和对象的关系

    函数也是对象,但是函数却不像数组--数组是对象的一种,它是对象的一个子集.函数和数组之间不是单纯的包含与被包含的关系,它们之间有点像鸡生蛋蛋生鸡的逻辑. 来例子:function Fn(){ this ...

  6. Js高级 事件 对象

    1.事件 浏览器客户端上客户触发的行为都成为事件 所有的事件都是天生自带的,不需要我们我去绑定,只需要我们去触发. 通过obj.事件名=function(){} 事件名:onmouseover onm ...

  7. 2-4 js基础-事件对象小结

    var e=ev||event; e.cancelBubble=true; document.documentElement   html document.body                  ...

  8. JS函数和对象

    1.函数 isNaN(数据)/parseInt/parseFloat/Number/prompt... 函数分为系统函数和自定义函数 function: 功能体,函数(方法),可以接受若干个数据,返回 ...

  9. JS 事件对象和事件冒泡

    1.事件对象 js的事件对象中保存了当前被触发事件的一些相关的属性信息,如事件源.事件发生时的鼠标位置.事件按键等. 事件对象的获取方法: IE中可以window.event直接获取,而Firefox ...

随机推荐

  1. 划分LUN

    划分LUN http://mp.weixin.qq.com/s?__biz=MzAwNzU3NzQ0MA==&mid=209842199&idx=1&sn=7d77fdf7a8 ...

  2. PHP + Ajax处理大数据查询并导出Excel

    思路:使用ajax多次请求服务器,分段生成多个Excel,然后打包压缩成zip,超链接指向下载的文件然后下载. [HTML部分] <input type="button" v ...

  3. mysql数据库的初始化及相关配置

    接着上篇文章我们继续探讨在安装完mysq数据库之后的一些相关配置: 一.mysql数据库的初始化 我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通 ...

  4. POJ3169:Layout(差分约束)

    http://poj.org/problem?id=3169 题意: 一堆牛在一条直线上按编号站队,在同一位置可以有多头牛并列站在一起,但编号小的牛所占的位置不能超过编号大的牛所占的位置,这里用d[i ...

  5. Http请求中Content-Type和Accept讲解以及在Spring MVC中的应用

    在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在 ...

  6. Sublime Text3(mac)一些插件和快捷键

    Sublime Text3(mac)一些插件和快捷键 楚简约 关注 2017.02.24 17:02* 字数 1216 阅读 412评论 0喜欢 2 下载地址http://www.sublimetex ...

  7. matlab 绘制条状图形

    clear,clc;A=zeros(1080,1920,3);A(:,1:384,:)=0;A(:,385:768,:)=10;A(:,769:1152,:)=20;A(:,1153:1536,:)= ...

  8. class A where T:new()是什么意思

    这是C#泛型类声明的语法 class A<T> 表示 A类接受某一种类型,泛型类型为T,需要运行时传入where表明了对类型变量T的约束关系.   where T:new()指明了创建T的 ...

  9. toFixed()与toPrecision()

    toFixed(n): 返回一个字符串,代表一个以定点表示法表示的数字. n在0~20之间 var g=1.023; var f=g.toFixed(2); f的值为:1.02,     typeof ...

  10. Acrobat 无法在本页面上执行OCR识别

    下载的电子书有时不能选中,或作黄色标记,在用acrobat pro作文本识别时,报 Acrobat 无法在本页面上执行OCR识别 解决方法 参照 http://jingyan.baidu.com/ar ...