所以我正在努力获得先进的Javascript技能。所以我在Lynda.com上做了一个实用的JS教程。第3章是关于EventHandlers的,我有点困惑(注意:我删除了使脚本在所有浏览器中都能运行的代码)。我已经重新录制了视频,但根本没用。
e
指的是什么?我没有一个名为e的变量或我能看到的任何其他变量。 false
指的是什么?它是否与return false
相同,因为我正在处理链接?
function clickLink(e) {
alert("You Clicked the Link");
}
function linkClicked(e) {
addEventHandler(document.getElementById("clickLink"), "click", clickLink, false);
}
addEventHandler(window, "load", linkClicked, false);
答案 0 :(得分:1)
答案 1 :(得分:1)
首先,e只是您将在函数中收到的参数。你也可以这样写:
function evtHandler(){
console.log(arguments[0]);
}
其中参数[0]是给定的e
。触发事件时调用处理函数。通常在e参数中,您有一个对象,其中包含有关如何触发事件的一些信息。
当你添加一个事件处理程序时,该函数的最后一个参数是一个布尔值,它指示句柄应该或不应该在事件处理程序的链中冒泡。这不是你会返回false,但如果事件也会由其他处理程序处理。如果要返回false或忽略先前的默认处理,可以调用preventDefault
中的evtHandler
函数。
P.S。请注意事件处理程序,因为跨浏览器兼容性存在一些问题;
答案 2 :(得分:0)
如果你在clickLink(e)
谈论e,那么我可以说你可以在javascript函数原型中声明你想要的任何参数,但是在调用它时你可以提供参数optionaly.and {{1}你可以为e传递参数,或者你可以忽略它。关于clickLink(e)
false
中的addEventHandler
,请检查此documentation,同时检查此question。
例如,如果定义了函数FO
:
function FO(e){
//function body here
}
然后你可以这样称呼它:
FO();
OR
FO("BAR");