2013-02-17 87 views
0

有没有办法从事件侦听器解析数据到函数?用事件侦听器解析数据?

我有这样的:

div.addEventListener('mousedown',run(id),false); 

function run(e,id){ 
    console.log(id); 
} 

的是它执行立竿见影。另一个问题是 - 如果我想解析变量id,并且run函数收到事件的e,那么您如何解析其他任何事情= /确定什么顺序e是(在指定之前或之后)有点混乱变量,你想解析)

目前的工作到目前为止是将id分配给窗口,所以它基本上是一个全球...但我想知道是否可以通过事件解析?

+0

div.addEventListener('mousedown',运行,false);与运行()你执行该功能,但你想交出它的参考。 – philipp 2013-02-17 07:11:48

回答

0

一种方法是创建其中id变量已经绑定到你想要的值一个新的侦听器函数,就像这样:

function newListener(id) { 
    var listener = function(e) { 
     console.log(id); 
    } 
    return listener; 
} 
div.addEventListener('mousedown',newListener(id),false); 

newListener(id)定义了一个新的功能,其中值的该函数内部可用的变量有id。然后javascript环境将调用在按下鼠标按钮时会起作用。