《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>

感觉不出他所说的“防止自己的参数直接到达调用的函数” 不知道自己理解的正确否。
分享到:
精彩评论 3
铁游夏
学分:0 LV1
TA的每日心情
还糊涂
2020-10-22 13:46:07
2014-11-04
沙发
这句话的意思是进行事件绑定时,在调用函数时不能指定参数。
scorp
学分:0 LV1
TA的每日心情
2020-04-04 23:10:30
2014-11-04
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
这句话的意思是进行事件绑定时,在调用函数时不能指定参数。
[/FIELDSET]

回复:
  “防止自己的参数直接到达调用的函数” 这句话在什么情况下? 可否给个实例看看?谢谢。
无语_mrkj
学分:3155 LV11
2014-11-05
地板
在如果不进行这样绑定的时候,我们调用带有事件参数时,需要为它传递一个参数,但是使用这种方式就不需要再为它传递参数了。
它这句“防止自己的参数直接到达调用的函数”应该就是防止我们在调用函数时为其传递参数。
首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照