2013-02-17 113 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環境將調用在按下鼠標按鈕時會起作用。