关于event参数
var a = document.getElementById("a");
EventUtil.addHandler(a, "click", function(event) {
EventUtil.preventDefault(event);
老师 这里为什么一定要传入event参数?我自己试了一下不写event的话代码效果就不成立了。
我觉得我是从逻辑上不理解为什么这里一定要传入一个参数呢?这个参数的作用是什么呢?
})
正在回答
同学你好,问题解答如下:
1. preventDefault: function(event) {} 里面的参数event是形参,它可以改成其他字母,它的真正内容,取决于调用preventDefault方法时,传入的参数。这里使用event这个名字,只是为了看一眼就知道这个函数要传入事件对象event(事件对象的名字就是event)。
2. 事件处理函数的第一个参数就是事件对象event,它是默认就会有的,如下:
对应我们这里,EventUtil.addHandler(a, "click", function(event) {})中的function(event){}就是a的click事件的处理函数,它的第一个参数是事件对象,我们这里为了方便,将参数名直接写成了event,它可以换成其他名字,如下:
事件对象event是默认就有的,所以不需要定义,使用时,直接在事件处理函数中,将第一个参数的形参写出来就行。
同学再理解一下。
祝学习愉快!
同学你好,问题解答如下:
事件处理函数的一个参数是事件对象(event),任何事件默认就会有该对象,它上面会记录一些有关事件的内容,比如这里的event,就是点击事件click的事件对象,它会记录触发click事件的元素是谁,鼠标点击时的位置坐标是什么......;当然,该对象上,也会有一些方法,比如preventDefault()这个事件就是事件对象才有的方法。
我们这里使用的是“EventUtil.preventDefault(event)”这个兼容性写法,来阻止默认行为,而EventUtil.preventDefault这个方法,是我们封装的,它是利用事件对象的方法和属性来实现目的的,所以它需要传入事件对象这个参数,如下:
因此,在使用时,我们必须传入参数,如下:
同学试着理解一下。
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星