簡體   English   中英

將點擊的元素傳遞給 function

[英]Passing the clicked element to a function

按鈕 2 沒有按預期工作(更新它的文本,如按鈕 1)。 “this”不是指按鈕元素,而是指 window。 如何修復按鈕 2? 謝謝

 <button id="btn1">Click me 1</button> <button id="btn2">Click me 2</button> <script> var btn1 = document.getElementById("btn1"); var btn2 = document.getElementById("btn2"); btn1.addEventListener("click", function() { this.innerText = "Come on"; }); btn2.addEventListener("click", changeMyText(this)); function changeMyText(btn) { btn.innerText = "Come on"; // console.log(btn); //here I get the window object //I expected the button } </script>

您立即執行處理程序 - 刪除 (this) 並使用 e.target

我也想改成 type="button"

 <button type="button" id="btn1">Click me 1</button> <button type="button" id="btn2">Click me 2</button> <script> var btn1 = document.getElementById("btn1"); var btn2 = document.getElementById("btn2"); btn1.addEventListener("click", function() { this.innerText = "Come on"; }); btn2.addEventListener("click", changeMyText); function changeMyText(e) { e.target.innerText = "Come on"; } </script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM