addEventListener和之间有什么区别onclick?
var h = document.getElementById("a");
h.onclick = dothing1;
h.addEventListener("click", dothing2);
Run Code Online (Sandbox Code Playgroud)
上面的代码一起存在于一个单独的.js文件中,它们都完美地工作.
我已经看过这些问题:
但是,他们都没有回答如何使用连接到节点的事件侦听器列表addEventListener,而无需addEventListener在创建事件侦听器之前修改原型.
VisualEvent不会显示所有事件侦听器(特定于iPhone的事件),我想以编程方式(稍微)执行此操作.
好吧,当我学习JavaScript时,我读过的所有书籍和互联网文章都显示了将参数传递给e处理JavaScript事件的函数的代码,例如下面的代码块:
function myEvent(e) {
var evtType = e.type
alert(evtType)
// displays click, or whatever the event type was
}
Run Code Online (Sandbox Code Playgroud)
我总是接受它的方式,但现在我有一些问题(这对我来说非常混乱):
e是从哪里来的?当我查看整个JavaScript文件时,e似乎根本不存在.e给函数?如果我没有传递e给他们,功能是否会停止工作?考虑下面的代码块.e传递给匿名内部函数的事件变量().假设我想在匿名函数之外使用事件对象(可能在行上方/下方的element.onkeypress行中).我怎样才能做到这一点?
element.onkeypress = function(e) {
if(e.keyCode) {
element.keyCode = e.keyCode;
} else {
element.keyCode = e.charCode;
}
};
Run Code Online (Sandbox Code Playgroud)