如何给动态生成的label添加click事件

如何给动态生成的label添加click事件,第1张

要看看你是怎么“动态添加”元素举空的掘搭。

如果你的元素是用click事件append进来的

那你的功能函数必须放在这个click事件正散瞎里面。

比如:

$(".clickMeToAppendElement").click(function() {

$(".toBeAppend").append("<li><span><i class=\"icon J_classtree\">这是元素内容</i>")

$(".J_classtree").on("click",function(){

alert("终于进来了")

})

using System

using System.Collections.Generic

using System.Linq

using System.Web

using System.Web.UI

using System.Web.UI.WebControls

using System.ComponentModel

namespace CustomControls

{

[DefaultProperty("Text")]

[ToolboxData("<{0}:ClickLabel runat=server></{0}:ClickLabel>")]

public class ClickLabel : WebControl, IPostBackEventHandler

{

[Bindable(true)]

[Category("Appearance")]

[DefaultValue("")]

[Localizable(true)]

public string Text

{

get

{

String s = (String)ViewState["Text"]

return ((s == null) ? "[" + this.ID 羡戚+ "]" : 碧派消s)

}

set

{

ViewState["Text"] = value

}

}

protected override void RenderContents(HtmlTextWriter output)

{

output.Write(Text)

}

public event EventHandler Click

public ClickLabel()

{

}

protected void OnClick()

{

if (Click != null)

{

Click(this, new EventArgs())

}

}

//When postback is caused by this control, raise the event

void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)

{

OnClick()

}

//Add onclick attribute to cause a postback when Label is clicked

protected override void AddAttributesToRender(HtmlTextWriter writer)

{

base.AddAttributesToRender(writer)

writer.AddAttribute(HtmlTextWriterAttribute.Onclick, Page.ClientScript.GetPostBackEventReference(this, "OnClick"))

}

}

}

我帮你写个,将以上代码编译成一个.DLL文件,就有一个带有单击事件的Label控件了

编译方法:

打开studio 随便新建一个项目,注意是项目,就会自动生成一个Default.aspx,和Default.aspx.cs两个文件,将以上代码复盖Default.aspx.cs的代码,然后可以点击项目菜单栏属性,可以修改程序集名和命名空间的名字例如:之后点击生成下的生成选择就会在你的BIN文件里生成一个dll

将它复制到你项目文件里就可以引用了

<%@ Register Assembly="ClickLabel" Namespace="CustomControls" TagPrefix="fa" %>

调用控件

<fa:ClickLabel   Font-Size="15px" ID="ClickLabel5"悔知  OnClick="label_Click" runat="server" Text="确 定" />

后台代码

public void label_Click(object sender, EventArgs e)

{

}

之前远标老师教过,你看下下面写的行不行

1、现在我需要在一袜派个label控件上定义一个点击事件,打开产生一个新的浏览器窗口。告模贺

2、Java JDK中的Label 类本身并码氏不提供事件处理的方法,但应该注意到它是Component类的子类,从而可以通过如下的方法来完成,同时应该处理mouse事件较符合要求。

3、源程序的代码如下:(已经调试通过)

import java.awt.*

import java.applet.*

import java.awt.event.*

import java.net.*

public class Applet1 extends Applet implements MouseListener

{

Canvas cv

public void init()

{

initForm()

}

private final Label clickLabel = new Label("hello")

private URL url

public void mouseClicked(MouseEvent e)

{

try

{

if(e.getSource() == clickLabel)

{

url = new URL("http://www.yahoo.com")

getAppletContext().showDocument(url,"new")

}

}

catch(MalformedURLException exc)

{

this.showStatus("Invalid URL: " + url)

}

}

public void mousePressed(MouseEvent e)

{

}

public void mouseReleased(MouseEvent e)

{

}

public void mouseEntered(MouseEvent e)

{

}

public void mouseExited(MouseEvent e)

{

}

void initForm()

{

clickLabel.addMouseListener(this)

this.add(clickLabel)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11978840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存