2015-08-20 61 views
0

功能我有一個匿名函數傳遞參數與的addEventListener

function getStocks(item){ 
    alert(item); 
} 

下面是我的點擊事件監聽器。

document.getElementById("passBtn").addEventListener("click", getStocks, false); 

我需要將參數傳遞給getStocks()。我嘗試了下面,但不起作用。怎麼了?

document.getElementById("passBtn").addEventListener('click', function(){ 
    getStocks(item); 
}, false); 

回答

0

使用JavaScript bind功能:

var item = "item"; 
document.getElementById("passBtn").addEventListener("click", 
    getStocks.bind(null, item), false); 

見上面的代碼中的動作,此處fiddle

查看更多信息,在這裏:Function.prototype.bind()

+0

感謝。爲什麼'.on'沒有工作? – Bekki

+0

你在'bind'函數中所做的事情是當事件處理程序調用它時爲函數綁定參數。 'on'是用於在jQuery中添加事件監聽器的語法糖,這是完全不同的東西。 –

+0

@Bekki如果答案是正確的,請記住將問題標記爲已完成:) –