給UGUI的Button動態新增OnClick監聽中的BUG
Button[] players;
//錯誤
for(int i =0;i<players.Length;i++)
{
players[i].onClick.AddListener (delegate() {
this.PlayerBtnClick(players[i].gameObject);
});
}
//正確
foreach(Button go in players){
go.onClick.AddListener (delegate() {
this.PlayerBtnClick(go.gameObject);
});
}
}
在用for迴圈動態新增Onclick的時候發現一個問題,當用錯誤寫法 onclick的時候發生陣列越界,一開始怎麼也想不明白,後來發現呼叫Onclick的時候,i = player.Length ,所以陣列越界,改為foreach即可
原因猜測 i 每次呼叫的同一個物件 至於為什麼呼叫 我就不清楚了 希望有人能夠解答一下 ,如果一定要用for 可以重新賦值一下
相關推薦
給UGUI的Button動態新增OnClick監聽中的BUG
Button[] players; //錯誤 for(int i =0;i<players.Length;i++) { players[i].onClick.AddListener (delegate() { this.PlayerBtnClick(playe
jquery動態新增元件監聽事件
在使用bootstrap table等這些非同步增刪查的表格時,經常會遇到使用on、click等方法監聽不到觸發的點選事件等,這是需要使用delegate方法,用法如下: $( "#tab
vue中給window新增滾動監聽無效的解決方案
頁面中有這麼一個需求,當頁面滾動到一定高度之後,頁面中的某些元素進行吸頂,固定到頂部位置,或者是滾動到一定程度進行更新資料的操作。 我相信不少網友查閱過類似的資料,網友給出的解決方案,很多都是在mounted中新增 window.addEventList
【jQuery】為動態生成的元素新增時間監聽
一、 $. live () 方法 根據jQuery的官方描述,live方法在1.7中已經不建議使用,在1.9中刪除了這個方法。並建議在以後的程式碼中使用on方法來替代。 返回值:j
在Struts開發中,給ActionForward動態新增引數
ActionForward是Struts框架的Action中使用的一個物件。它指向一個具體的path。但是這個path一般是寫死在struts-config.xml中的,那麼怎麼給ActionForward物件動態新增引數呢? 這裡總結了幾種方法。 1. 最直接的方式:使
動態頁面的監聽事件
靜態頁面:(所需要監聽的Dom是頁面載入完成後到現在一直存在) $("#132").click(function() { //邏輯程式碼 }) 動態頁面:(所需要監聽的Dom是頁面載入完成後新增上去的)
利用 netsh 給 mysql 開啟多埠監聽
利用 netsh 給 mysql 開啟多埠監聽 標題黨,實際並不是真的多埠監聽,只是埠轉發而已。 由於某種特殊原因需要 mysql 伺服器多個埠監聽。 mysql 伺服器本身是不支援的,但可以通知埠轉發的方式。 本機的 IP 是 192.168.1.2 netsh interface portprox
vue給當前頁面加滾動監聽怎麼樣不影響其他頁面
最近利用vue寫了一個網站,在網站某一個頁面滾動到某一個地方後執行某一動化,所以要獲取拿一個div到頂部的距離,所以我在頁面載入的時候給window加了一個滾動的監聽 mounted(){ window.addEventListener('scroll', this.handleScro
extjs元件新增事件監聽的三種方式
1.在定義元件配置的時候設定 xtype : 'textarea', name : 'dataSetField', labelSeparator:'', fieldLabel:'', hideLabel: true, allowBlank: true,
tableview 高度適配內容(高度隨著cell行數變化而動態變化)及(監聽contentsize變化)
//評論佈局 -(void)drawPingLunViewWithArr:(NSMutableArray *)arrData{ self.pinTab = [[UITableViewalloc]initWithFrame:CGRectMake(0, 0, SCREEN_
jQuery給表格動態新增或刪除行列
點選按鈕,動態新增、刪除表格特定樣式的行列 點選**“+”則新增行,點選“-”**則刪除行(針對多行) 實現效果圖 實現 $.addTrTd = function(i){ var rowPost ='<tr>'+ '<td class
jquery如何給物件動態新增屬性以及選擇器、事件的繫結
在工作用要用到給jd物件動態新增屬性的要求,在網上找到了一種解決方式,例項如下: 1、demo var aa="maker"; var bb=123; var lists={}; eval("lists."+aa+"="+bb); eval('('+"lists."+aa
利用cglib庫給物件動態新增屬性
package com.lrq.cglib; import java.util.Map; import net.sf.cglib.beans.BeanGenerator; import net.sf.cglib.beans.BeanMap; public class Dyn
筆記:利用 runtime 交換方法、給分類動態新增屬性
第一次寫部落格,有些小緊張,如有不對的地方還請大牛們及時指出,在此先感謝各位大牛了... 一、利用 runtime 交換方法: 1、交換方法的實現 #import "UIImage+mImage.h" @implementation UIImage (mImage) +(void)l
Java新增事件監聽的四種方法程式碼例項
1.Java事件監聽處理——自身類實現ActionListener介面,作為事件監聽器 class EventListener1 extends JFrame implements ActionListener { private JButton btBlue, btDia
activiti 動態配置 activiti 監聽引擎啟動和初始化(高階原始碼篇)
1.1.1. 前言 使用者故事:現在有這樣一個需求,第一個需求:公司的開發環境,測試環境以及線上環境,我們使用的資料庫是不一樣的,我們必須能夠任意的切換資料庫進行測試和釋出,對資料庫連線字串我們需要加密,保證我們的資料庫連線不能被發現。必須確保我們的資料庫不能暴露出去,第二
Java新增事件監聽的方法及程式碼例項
一、Java事件監聽處理--匿名內部類處理 class frame1 extends JFrame { private JButton btdialog;public frame1(){setTitle("事件監聽器");setBounds(100,100,500,400)
動態-JS實現給物件動態新增屬性並賦值 及 實現AJAX data傳遞動態key鍵名
對前段工作時間中遇到的兩種自認為比較有意義的JS動態操作資料的情況進行總結: 1.JS實現物件的動態新增屬性並賦值 例:點選觸發 通過類選擇器遍歷所有的input 並將其對應實體類的屬性及屬性值動態新增到info物件中,請求到後臺. var info = {}; $("#
js動態新增html標籤函式中的引數寫法
js動態新增html標籤,此html中包含onclick等事件,必然要引用函式,那麼函式中的引數如何寫? 1,function showi(m){ alert(m); } function change(){ var x=6; document.write('<a
阿里雲新增MySQL監聽,自動宕機重啟
本人阿里雲上MySQL服務和很多的應用服務全部放在一個機器上,流量大的時候,mysql會偶爾掛掉,所以這裡寫了一個監聽MySQL的指令碼,定時監聽MySQL程序。直接撈乾的:為了管理方便我在/home/listener/ 資料夾下新建shell檔案:mysql_listene