js捕获事件

0级事件处理

用的最多的就是onload了


<script>
//内嵌模式()
 <body onload="alert("工大学子")">
 <body onload="hello();">
 注意小括号引号这类的  和下面的不同
或者在js里的
</script>

<script>
//传统模式(推荐)
window.onload=function(){
    ......
    alert(“工大学子”);
}
//window.onload=hello();
</script>


结束function 终止事件

function() doSomething{
    return false;
    
}

提醒一下function name(){。。。}这是function的格式 name的位置还有小括号的位置......

指定多个函数

<body onload="hello();hello2()">

传统模式
function(){
    var helloString="hello you ";
    alert(helloString);
    hello2();
    在这里调用第二个
    }

除了onload 还有onmouseover onmouseout onclick
这个好像用的更多 但提醒一下css的伪类hover有时候用的更方便一点

event对象

例:window.event.screenX

我们可以通过event干好多事情
我记住的就screenX还有screenY 指事件触发时屏幕的x y值;

clientX客户端当前x
clientY客户端当前y

有什么区别自己回去查

event的兼容性

ie是

function onmouseover(){
。。。
//小括号里没有东西 ie默认是通过程序访问window对象其包含的数据也会相应填充
}
docunment.onmouseover=onmouseover

其他浏览器(基于netscape)是:

function onmouseover(theEvent){
//括号里有东西。。。
}
docunment.onmouseover=onmouseover

所以考虑兼容用下面的方法

<script>
function onmousedown(nsEvent){
    var theEvent=nsevent?nsevent:window.event;
    //看看nsEvent是否被定义
    var locString="x="+theEvent.screenX+"y="+theEvent.screenY;
    alert(locString);
}
</script>
document.onmousedown=onmousedown;

事件冒泡

就是你给一个爷爷辈父亲辈儿子辈的三个div分别写三个一样的触发时间假设都是onclick 你会发现当你点击儿子时爷爷和爸爸的onclick都被触发
不理解的回去写三个嵌套的div试试;

取消冒泡机制
ie:cancelBubble
mozilla:stopPropagation

function stopEvent(evnt){
    if(evnt.stopPropagation){
        evnt.stopPropagation}
    else{
        evnt.cancelBubble=true;
    }
}
document.getElementById("ididid").onmouseover=function(evnt){
    var theEvent=evnt?evnt:window.event;
    alert("鬼一样的ie");
    stopEvent(theEvent);
    //调用上面写的stopEvent函数;
    }

this

经常见
当前调用的函数或方法的所有者
对全局函数就是window

事件捕获一个用途

在html里你在写一个id为myid的一个input 就会实现打开网页 这个input自动获得焦点。。。。。百度的效果

window.onload=myFunction;
function myFunction(){
    document.getElementById(""myid").focus();
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文来源于http://www.webzsky.com/?p=731我只是在这里作为自己的学习笔记整理一下(...
    angryyan阅读 7,138评论 1 6
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,207评论 0 1
  • 以下文章为转载,对理解JavaScript中的事件处理机制很有帮助,浅显易懂,特分享于此。 什么是事件? 事件(E...
    jxyjxy阅读 3,079评论 1 10
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,927评论 2 17
  • 等了很长时间,才走进电影院,空档了很久,只是在家里零星翻出过去的经典老片瞅瞅,算是慰藉。去看投名状之前,就有...
    天明懒画眉阅读 485评论 0 0