Javascript函数不能在动态创建的ImageButton (ASP.NET)上工作
本文关键字:ASP NET 工作 ImageButton 不能 函数 动态 创建 Javascript | 更新日期: 2023-09-27 18:04:33
有这样的东西:
protected void Page_Init(object sender, EventArgs e)
{
LoadImageButtons();
}
private void LoadImageButtons()
{
for (int i = 1; i < 10; i++)
{
ImageButton myImageButton = new ImageButton();
myImageButton .ID = i.ToString();
myImageButton .CssClass = "buttonFieldClass";
myImageButton .Click += new ImageClickEventHandler(einButton_Click);
myImageButton .OnClientClick = "toRight(this.id);return false";
div.Controls.Add(myImageButton);
}
}
Javascript (Jquery): function toRight(id) {
$("#id").animate({ "left": "+=250px" }, "slow");};
和什么都没有发生(与静态控件它工作)..所以我认为这个ID出了问题。
像这样修改你的jquery
function toRight(id) {
$("#" + id).animate({
"left": "+=250px"
}, "slow");
};
字符串"#id"
不是所需的选择器。
所需的选择器是"#"
与变量"id"
连接
在我看来你的问题是这一行
myImageButton .OnClientClick = "toRight(this.id);return false";
尝试更改为:
myImageButton .OnClientClick = "toRight('" + this.id + "');return false";
哦,建议的Javascript修复也是正确的和必需的!