用事件侦听器解析数据?
问题描述:
有没有办法从事件侦听器解析数据到函数?用事件侦听器解析数据?
我有这样的:
div.addEventListener('mousedown',run(id),false);
function run(e,id){
console.log(id);
}
的是它执行立竿见影。另一个问题是 - 如果我想解析变量id
,并且run
函数收到事件的e
,那么您如何解析其他任何事情= /确定什么顺序e
是(在指定之前或之后)有点混乱变量,你想解析)
目前的工作到目前为止是将id
分配给窗口,所以它基本上是一个全球...但我想知道是否可以通过事件解析?
答
一种方法是创建其中id
变量已经绑定到你想要的值一个新的侦听器函数,就像这样:
function newListener(id) {
var listener = function(e) {
console.log(id);
}
return listener;
}
div.addEventListener('mousedown',newListener(id),false);
newListener(id)
定义了一个新的功能,其中值的该函数内部可用的变量有id
。然后javascript环境将调用,在按下鼠标按钮时会起作用。
答
事件处理程序不带参数的直接,你调用的函数运行(ID),不及格处理程序,这里是你如何把它传递(使用匿名函数)
https://developer.mozilla.org/en/docs/DOM/element.addEventListener
div.addEventListener('mousedown',function(e){
doSomething(id);
},false);
function doSomething(id){
console.log(id);
}
div.addEventListener('mousedown',运行,false);与运行()你执行该功能,但你想交出它的参考。 – philipp 2013-02-17 07:11:48