1

我需要将客户端onLoad事件与 ASP.Net Image 控件绑定。我已经尝试了很长时间,但没有成功。

函数名称onload="onLoadFunction(this)"

脚本:

function onLoadFunction(img) {
     $(img).css("visibility", "visible"); // Using jQuery
     // img.style.visibility = "visible"; // Using just javascript.
 }

标记:

<asp:Image ID="imgTopFourImg2" runat="server" width="170px" height="112px" CssClass="ArticleImgHP" border="0" ImageUrl="hello.jpg" OnLoad="onLoadFunction(this)" />

这对我不起作用,如果有人可以帮助我,我将不胜感激。

4

4 回答 4

3

$("img #xyz").bind("load", function () { $(this).css("visibility", "visible"); });

于 2012-04-19T14:04:27.513 回答
2

OnLoad 属性用于向 Load 事件添加事件处理程序,该事件是服务器端事件,而不是客户端事件。

如果要创建生成的图像元素的 onload 属性,则需要使用 Attributes 集合

imgTopFourImg2.Attributes["onload"] = "onLoadFunction(this)";

从评论编辑

由于图像位于转发器项目内,因此在后面的代码中不可用。处理ItemDataBound事件:

void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) {

          // This event is raised for the header, the footer, separators, and items.

          // Execute the following logic for Items and Alternating Items.
          if (e.Item.ItemType == ListItemType.Item 
                  || e.Item.ItemType == ListItemType.AlternatingItem) 
             {

                var imgTopFourImg2 = e.Item.FindControl("imgTopFourImg2") as Image;
                if (imgTopFourImg2 != null)
                    imgTopFourImg2.Attributes["onload"] = "onLoadFunction(this)";
             }
          }
       }  
于 2012-04-19T14:04:57.763 回答
1
$("#imgTopFourImg2").bind("load", function () { $(this).show(); });

值得研究show()andhide()方法,因为您已经在使用 jQuery。

于 2012-04-19T14:06:17.887 回答
0
$("img #id").bind("load", function () { $(this).css("visibility", "visible"); });
于 2012-04-19T14:00:43.533 回答