首页上一页 1 下一页尾页 3 条记录 1/1页
《javascript从入门到精通》第76页的这段话怎样理解?
发表在JavaScript答疑区
2014-11-01
是否精华
是
否
版块置顶:
是
否
在W3C中引用event对象
在W3C事件模型中,event对象引用比较复杂。在对数情况下,必须明确地将event对象作为一个参数传递到时间处理函数中。event对象有时可自动作为参数传递,这依赖于事件处理函数如何与对象绑定。
??? 这里的event对象有时可自动作为参数传递,这依赖于事件处理函数如何与对象绑定??
可自动作为参数传递?这个怎么理解?
<script>function test(){ alert(event.clientX);}</script>
<body onmousemove=test(); <!--这里面不写参数,照样可以执行的意思?还是别的意思?这样是不是就是他所说的自动作为参数传递?
还可以通过其他方式将事件处理函数绑定到对象(在NN6+中,使用属性赋值和w3cDOm的addEventLisetener()方法),将这些事件处理函数的引用赋给文档中所需的对象。例如:
document.forms[0].someButton.onKeyUp=example; 通过这些方式进行事件绑定可以防止自己的参数直接到达调用的函数。
这句话“防止自己的参数直接到达调用的函数”???
事件执行的时候不是在触发的情况下才把自己的参数传递给调用函数吗?他这里说的防止是指的什么情况?
是不是 同时有好几个事件,默认的都是event对象
而分不清到底传入的对应哪一个事件?
比如下面的例子理解的对不对?
<style>
.blk{width:200px; height:200px;border:1px solid blue;}
</style>
</head>
<body>
<form name="f1">
<button name="b1" onmousedown="gg(event)">点击</button>
</form>
<script>
function gg(evt){
alert(evt.clientX);
}
function kk(evt1){
alert(evt1.button);
}
</script>
<div class="blk" onmousedown="kk(event);" </div>
但自己点击其中某一个事件的话 互不影响呀,那他这句话是防止啥情况出现?可否说一下。
自己试了下用 document.f1.b1.onmousedown=jj(event);
<script>
function yy(evtt){
alert(evtt.clientX);
}
function jj(evt){
alert(document.f1.b1.onmousedown=yy(evt));
}
</script>
<form name="f1">
<button name="b1" onmousedown="jj(event)">点击</button>
</form>
感觉不出他所说的“防止自己的参数直接到达调用的函数” 不知道自己理解的正确否。
在W3C事件模型中,event对象引用比较复杂。在对数情况下,必须明确地将event对象作为一个参数传递到时间处理函数中。event对象有时可自动作为参数传递,这依赖于事件处理函数如何与对象绑定。
??? 这里的event对象有时可自动作为参数传递,这依赖于事件处理函数如何与对象绑定??
可自动作为参数传递?这个怎么理解?
<script>function test(){ alert(event.clientX);}</script>
<body onmousemove=test(); <!--这里面不写参数,照样可以执行的意思?还是别的意思?这样是不是就是他所说的自动作为参数传递?
还可以通过其他方式将事件处理函数绑定到对象(在NN6+中,使用属性赋值和w3cDOm的addEventLisetener()方法),将这些事件处理函数的引用赋给文档中所需的对象。例如:
document.forms[0].someButton.onKeyUp=example; 通过这些方式进行事件绑定可以防止自己的参数直接到达调用的函数。
这句话“防止自己的参数直接到达调用的函数”???
事件执行的时候不是在触发的情况下才把自己的参数传递给调用函数吗?他这里说的防止是指的什么情况?
是不是 同时有好几个事件,默认的都是event对象
而分不清到底传入的对应哪一个事件?
比如下面的例子理解的对不对?
<style>
.blk{width:200px; height:200px;border:1px solid blue;}
</style>
</head>
<body>
<form name="f1">
<button name="b1" onmousedown="gg(event)">点击</button>
</form>
<script>
function gg(evt){
alert(evt.clientX);
}
function kk(evt1){
alert(evt1.button);
}
</script>
<div class="blk" onmousedown="kk(event);" </div>
但自己点击其中某一个事件的话 互不影响呀,那他这句话是防止啥情况出现?可否说一下。
自己试了下用 document.f1.b1.onmousedown=jj(event);
<script>
function yy(evtt){
alert(evtt.clientX);
}
function jj(evt){
alert(document.f1.b1.onmousedown=yy(evt));
}
</script>
<form name="f1">
<button name="b1" onmousedown="jj(event)">点击</button>
</form>
感觉不出他所说的“防止自己的参数直接到达调用的函数” 不知道自己理解的正确否。