using System.Collections
using UnityEngine.UI
/// <summary>
/// 脚本位置:UGUI的按钮身上
/// 脚本功能:动态的添加按钮的点击事件
/// </summary>
public class ListenerTest : MonoBehaviour {
private Button button
void Start () {
button = GetComponent<Button>()
button.onClick.AddListener(
delegate() {
TestButtonClick testClick = GameObject.FindObjectOfType<TestButtonClick>()
testClick.OnClickButton()
}
)
}
}
[csharp] view plain copy
using UnityEngine
using System.Collections
/// <summary>
/// 脚本位置:摄像机身上
/// 脚本功能:当点击按钮的时候动态的添加此脚本上的OnClickButton方法
/// </summary>
public class TestButtonClick : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
public void OnClickButton()
{
Debug.Log("已经成功监听按钮的点击事件")
}
}
如图,比方说我有一个函数,而我们需要点击按钮触发指定的函数,这就用到了绑定事件的方法。
如图,假定是点击事件,则在按钮里面添加onclick=函数名即可把函数绑定到按钮上。onclick绑定的是单击事件哦,当然还有很多其他的事件。
如图,绑定事件之后,当我们点击按钮即可触发绑定的函数,非常神奇哦。
当然,也可以给按钮设定一个ID,然后我们获取到带有ID的按钮。
然后在JavaScript中绑定事件也是可以的,这种方法代码比较多,想用哪种看你自己哦。
需要特别注意一点的是,如果用了第二种方法,当要获取id时,如果script脚本写在head里面,则要加上window.onload哦。如果是写在body后面,则不需要写window.onload。
如果你要添加客户端的onclick事件,可以用 HyperLink1.Attributes.Add("onclick","myclick()")这样的方法,如果你要添加服务器事件,那就错了,因为HyperLink没有Click这样的服务器事件,可以改用LinkButton。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)