試過了看似傳不進去? ? ?
為什麼這麼多人踩?我覺得是個好問題啊,閉包解決之
<button>click</button> <script> document.querySelector("button").addEventListener("click", fn('hello world'), false); function fn(a) { return function() { alert(a); } } </script>
不知道你想傳什麼。
不過你可以把fn定義成返回函數的函數。基本能滿足需求…
btn.addEventListener('click',function(){fn('params')}); function fn(data) { alert(data) }
這樣試試?
雷雷
我沒找到addEventListener的函數原型,在平常使用中我的感覺是。 addEventListener在捕捉觸發事件之後,給呼叫函數名後加()呼叫。 那麼
btn.addEventListener('click',fn,false);
的監聽事件addEventListener捕捉到click事件之後,執行的函數便是fn() addEventListener有的這個弊端就是它不能添加帶參數的括號,即不能捕捉到click之後執行fn(1,2). 所以平常的時候,我都是用一個匿名函數function(){fn(1,2)}作為綁定函數。那麼程式碼變成這樣了:
btn.addEventListener('click',function(){fn(1,2)},false)
在捕捉click事件之後,觸發的函數便是function(){fn(1,2)}()即可實現觸發fn(1,2)這樣的帶參數函數。
對addEventListener函數還不是很熟,歡迎討論指正。
為什麼這麼多人踩?我覺得是個好問題啊,閉包解決之
不知道你想傳什麼。
不過你可以把fn定義成返回函數的函數。基本能滿足需求…
這樣試試?
雷雷
雷雷
我沒找到addEventListener的函數原型,在平常使用中我的感覺是。
addEventListener在捕捉觸發事件之後,給呼叫函數名後加()呼叫。
那麼
的監聽事件addEventListener捕捉到click事件之後,執行的函數便是fn()
addEventListener有的這個弊端就是它不能添加帶參數的括號,即不能捕捉到click之後執行fn(1,2).
所以平常的時候,我都是用一個匿名函數function(){fn(1,2)}作為綁定函數。那麼程式碼變成這樣了:
在捕捉click事件之後,觸發的函數便是
function(){fn(1,2)}()
即可實現觸發fn(1,2)這樣的帶參數函數。
對addEventListener函數還不是很熟,歡迎討論指正。