js迴圈動態綁定帶參數函數遇到的問題及解決方案

來源:互聯網
上載者:User

眾所周知,不帶參數的綁定非常簡單,只要使用(文法:“document.getElementById("對象ID名").attachEvent("事件名,如onchange",函數名);”)(樣本:“document.getElementById("select_0").attachEvent("onchange",modifyFunction);”)即可。(註:以下唯寫樣本)
帶參數的綁定就要複雜一些:document.getElementById("select _0").attachEvent("onchange",function(){modifyFunction (obj,i););即在function()中寫需要執行的函數即可。當然還有另一種寫法:document.getElementById("select _0"). onchange=function(){modifyFunction (obj,i););。
綁定成功,OK。不過,慢,此時又遇到了第二個問題,傳遞過去的參數值都是同一個,並不是想象中的將i的值傳遞過去後,每個綁定的函數的參數值都不一樣。
於是乎,上網百度。經過艱難的搜尋測試,期間還找到一個如下所示的例子: 複製代碼 代碼如下:<script>
document.onclick=check;
function check() {
if(event.srcElement.type== "button ")
alert(event.srcElement.name);
}
</script>
<input type=button name=button1>
<input type=button name=button2>

此例子是通過event找到有動作的組件,然後擷取它的源,再取出name值。這樣就可以通過傳入的obj,獲得是第幾個obj,然後進行相應的操作。
只是還有個問題,經過這種操作之後,obj的值又出現了問題,不管操作哪個select,獲得的值都是最後一個。
繼續百度。
終於,在一篇文章中獲得了原因。文章轉帖如下:
我們先看一個關於Javascript利用迴圈綁定事件的例子:
例如:一個不確定長度的列表,在滑鼠經過某一條的時候改變背景。 xmlns="http://www.w3.org/1999/xhtml" >

  • 第1條記錄
  • 第2條記錄
  • 第3條記錄
  • 第4條記錄
  • 第5條記錄
  • 第6條記錄

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.