文档库 最新最全的文档下载
当前位置:文档库 › 课题_JAVA事件监听器之Button类中的addActionListener(ActionListener l)方法

课题_JAVA事件监听器之Button类中的addActionListener(ActionListener l)方法

课题_JAVA事件监听器之Button类中的addActionListener(ActionListener l)方法
课题_JAVA事件监听器之Button类中的addActionListener(ActionListener l)方法

JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法

addActionListener

public void addActionListener(ActionListener l)

添加指定的动作侦听器,以接收发自此按钮的动作事件。当用户在此按钮上按下或释放鼠标时,发生动作事件。如果 l 为 nu ll,则不抛出任何异常,也不执行任何动作。

java.awt.event

接口 ActionListener

——摘自:JDK6API

例子:使按钮具有关闭窗口的功能

1import javax.swing.*;

2import java.awt.*;

3import java.awt.event.*;

4public class FrameDemo

5{

6//定义该图形中所需的组件的引用

7private Frame f;

8private Button bt;

9

10//方法

11FrameDemo()//构造方法

12{

13madeFrame();

14}

15

16public void madeFrame()

17{

18 f = new Frame("My Frame");

19

20//对Frame进行基本设置。

21 f.setBounds(300,100,600,500);//对框架的位置和大小进行设置

22 f.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));//设计布局

23

24bt = new Button("My Button");

25

26//将组件添加到Frame中

27 f.add(bt);

28

29//加载一下窗体上的事件

30myEvent();

31

32//显示窗体

33 f.setVisible(true);

34}

35

36private void myEvent()

37{

38 f.addWindowListener(new WindowAdapter()//窗口监听

39{

40public void windowClosing(WindowEvent e)

41{

42System.out.println("窗体执行关闭!");

43System.exit(0);

44}

45});

46//让按钮具备关闭窗口的功能

47bt.addActionListener(new ActionListener()

48{

49public void actionPerformed(ActionEvent e)

50{

51System.out.println("按钮执行关闭窗口的功能"); 52System.exit(0);

53}

54});

55}

56

57public static void main(String[] agrs)

58{

59new FrameDemo();

60}

61}

安卓按钮单击事件

第一种:匿名内部类作为事件监听器类 大部分时候,事件处理器都没有什么利用价值(可利用代码通常都被抽象成了业务逻辑方法),因此大部分事件监听器只是临时使用一次,所以使用匿名内部类形式的事件监听器更合适,实际上,这种形式是目前是最广泛的事件监听器形式。上面的程序代码就是匿名内部类来创建事件监听器的!!! 对于使用匿名内部类作为监听器的形式来说,唯一的缺点就是匿名内部类的语法有点不易掌握,如果读者java基础扎实,匿名内部类的语法掌握较好,通常建议使用匿名内部类作为监听器。 第二种:内部类作为监听器 将事件监听器类定义成当前类的内部类。1、使用内部类可以在当前类中复用监听器类,因为监听器类是外部类的内部类,2、所以可以自由访问外部类的所有界面组件。这也是内部类的两个优势。上面代码就是内部类的形式!! 第三种:Activity本身作为事件监听器

这种形式使用activity本身作为监听器类,可以直接在activity类中定义事件处理器方法,这种形式非常简洁。但这种做法有两个缺点:(1)这种形式可能造成程序结构混乱。Activity 的主要职责应该是完成界面初始化;但此时还需包含事件处理器方法,从而引起混乱。(2)如果activity界面类需要实现监听器接口,让人感觉比较怪异。 上面的程序让Activity类实现了OnClickListener事件监听接口,从而可以在该Activity类中直接定义事件处理器方法:onClick(view v),当为某个组件添加该事件监听器对象时,直接使用this作为事件监听器对象即可。 第四种:外部类作为监听器 ButtonTest类 当用户单击button按钮时,程序将会触发MyButtonListener监听器 外部MyButtonListener类

Activiti 监听器的配置使用

Activiti 监听器的配置使用 一)流程监听器的配置 此监听器的作用是记录流程的启动和结束事件日志,详细参考类 cn.bc.workflow.activiti.delegate.ProcessLogListener 用Activiti Designer打开流程图,点击空白处,在Properties的Listeners中如下配置流程的start和end两个事件: 二)任务监听器的配置 此监听器的作用是记录任务的创建、分派和完成的事件日志,详细参考类 cn.bc.workflow.activiti.delegate.TaskLogListener 用Activiti Designer打开流程图,点击要配置的任务节点,在Properties的Listeners中如下配置任务的事件监听:

如下是自动将任务分配到岗位或岗位内用户的任务监听器的配置: 详见类cn.bc.workflow.activiti.delegate.Assign2GroupUserListener,监听器在流程图中需要配置为"java class"类型,Fields参数中有两种配置方式:1)岗位名称+保存组织ID的流程变量名(全局变量),2)岗位编码。 监听器会根据配置方式先获取岗位,然后自动获取岗位内的用户信息,如果岗位内只有一个用户,就直接将任务分配给此用户,否则分配给岗位。

三)流向或网关监听器的配置 此监听器的作用是记录流向的执行事件日志,在平台中是可选的,视具体情况按需配置,详细参考类cn.bc.workflow.activiti.delegate.FlowLogListener 用Activiti Designer打开流程图,点击要配置的流向或网关,在Properties的Listeners 中类似任务监听器的方式进行配置即可:

委托及事件响应button_click

C#事件及响应方法——让你明白private void button1_Click(object se nder, System.EventArgs e) C#语言自C/C++演变而来。它是现代、简单、完全面向对象和类型安全的。C#语言是微软公司针对.Net平台才推出来的一门新语言,作为.Net平台的第一语言,它几乎集中了所有关于软件开发和软件工程研究的最新成果。面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制、代码安全管理…… 在.NET应用程序开发中,不管是WEB Forms(https://www.wendangku.net/doc/c57240711.html,)还是Windows Forms,都涉及到大量对象的事件响应及处理,比如客户在线提交一份订单、或是在Windows窗口上移动鼠标等都将有事件发生。那么在C#中,是怎样声明事件并为事件添加响应方法的呢?下面的文章对此为大家作了详细的讲述。 原理简介 在C#中,一个类可以有域(Fields)、属性(Properties)、方法(Methods)、索引(Ind exs)、事件(Events)等成员,其中事件(Events)成员就是用来声明一个类事件的。在类中声明一个事件成员一般采用如下的语法形式: public event 代表名事件名。 如在Control类中声明了一个Click事件成员,其语法如下: public event EventHandler Click; 在C#中,增加了一个新的数据类型delegate(代表)来解决事件处理问题。代表数 据类型非常类似于C语言中的指针,其与指针不同的是,其是代码是安全的,可管理的。 由于C#本身的简易性,对于没有使用过C及指针的程序来说,理解delegate也是非常容易的。 在C#中,通过使用delegate,你可以通过“+=”(加等于)操作符非常容易地为.Ne t对象中的一个事件添加一个甚至多个响应方法;还可以通过非常简单的“-=”(减等于)操作符取消这些响应方法。如下面为temp按钮添加Click事件的语句: temp.Click+=new System.EventHandler(this.Test);//为test添加事件处理方 法 在上面声明事件的语句中,Eventhandler是一个delegate(代表)类型,其在.Net类库中如下声明的: public delegate void EventHandler(object sender,EventArgs e); 这样,所有形如:void 函娄名(object 参数名,EventArgs参数名);的函数都可以作为Co ntrol类的Click事件响应方法了。如下面所定义的一个事件响应方法: private void button1_Click(object sender, System.EventArgs e)

HTML Button.onclick 事件汇总

HTML Button.onclick 事件汇总 关于web设计中的命名标准 #page #header #logo #sm (servicemenu) .regsiter .login #nav .menu .subMenu .search .sreachbtn(搜索按钮).sreachinput(搜索输入 框) #container .bread [#areaSidebar] #sidebar .title .service .news .newslist .piclist .hot .msg(提示信息) .download .tab .list .accordion [#areaBanner] #content .contentMain .input .select .note .summary

Java+Swing+常用事件和监听器接口

Swing 常用事件和监听器接口 AncestorEvent AncestorListener ancestorAdded(AncestorEvent e) ancestorMoved(AncestorEvent e) ancestorRemoved(AncestorEvent e) CaretEvent 通知感兴趣的参与者事件 源中的文本插入符已经发 生更改 CaretListener caretUpdate(CareEvente) ChangeEvent 通知感兴趣的参与者事件 源中的状态已经发生更改 ChangeListener stateChanged(ChangeEvent e) HyperlinkEvent 通知感兴趣的参与者发生 了与超文本链接有关的事 情 HyperlinkListener hyperlinkUpdate(HyperlinkEvent e) InternalFrameEvent 以事件源的形式添加对J InternalFrame对象的支持的 A WTEvent InternalFrameListener internalFrameActivated(InternalFrameEvent e) internalFrameClosed(InternalFrameEvent e) internalFrameClosing(InternalFrameEvent e) internalFrameDeactived(InternalFrameEvent e) internalFrameDeiconified(InternalFrameEvent e) internalFrameIconified(InternalFrameEvent e) internalFrameOpened(InternalFrameEvent e) ListDataEvent 定义一个列表更改的事件ListDataListener contentsChanged(ListDataEvent e) intervalAdded(ListDataEvent e) intervalRemoved(ListDataEvent e)

监听器与过滤器

监听器与过滤器 监听器简介 什么是监听器 1.能监听某个对象的状态变化的组件 2.监听域对象的变化 监听器相关的概念 1.事件源:被监听的对象- request、session、servletContext 2.监听器:监听事件源的对象- 8个监听器 3.注册监听器:监听器与事件源相绑定 4.响应行为:监听到事件源变化时,去做什么事情 监听器划分 1.三个监听域对象的创建与销毁ServletContextListener HttpSessionListener ServletRequestListener 2.三个监听域对象当中属性变化ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener

域监听器 ServletContext域监听器监听ServletContext域的创建与销毁的监听器ServletContextListenerServletContext域生命周期:服务器启动创建、服务器关闭销毁监听器的编写步骤: 1.编写一个监听器类去实现监听器接口 2.覆盖监听器的方法 3.需要在web.xml中进行配置 作用 1.初始化的工作:初始化对象、初始化数据、加载数据库驱动、连接池的初始化 2.加载一些初始化的配置文件 3.任务调度

HttpSessionListener 监听HttpSession域的创建与销毁的监听器HttpSessionListener HttpSession的生命周期:第一次调用request.getSession时创建、服务器关闭session 过期或手动销毁 应用场景:记录访问人数 过滤器介绍 什么是过滤器 1.filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行 2.可以对目标资源访问前后进行逻辑处理 过滤器编写步骤 1.编写一个过滤器的类实现Filter接口 2.实现接口中尚未实现的方法(主要是DoFilter方法)

第八讲 AWT和事件监听

第八讲AWT和事件监听打印本页 1 基本概念 下面几讲,我们就来学习AWT的各种容器和组件,并重点学习AWT的事件监听和处理方法。由于学习事件需要用到一些简单的构件,我们先学习几个简单的构件。现在,我们先来介绍AWT里面几个重要的概念:构件,容器,布局管理器和事件监听(AWT P4)。 1.1构件是图形用户界面的最小单位之一,它里面不再包含其他的成分. 构件的作用是完成与用户的一次交互,包括接受用户的一个命令,接受用户的一个文本输入,向用户显示一段文本或一个图形等。常用的构件有: 按钮构件 项目选择构件:复选框(Checkbox)列表(List或Choice) 文本构件:文本框文本区 对话框构件:对话框文件对话框提示框帮助 菜单构件:弹出式菜单复选框菜单 1.2容器 容器是用来组织构件的单元。常用的容器有:面板、窗口。 1.3布局管理器: 布局管理器用来布置容器和容器中的各个构件,比如他们的大小、位置等。AWT提供了几种标准的布局管理器。 1.4事件监听 要使点击鼠标、敲打键盘等实现特定的动作,我们需要捕捉事件并且加以实现。AWT里典型的事件有:鼠标事件、鼠标移动事件、键盘事件、窗口事件等。 我们通过学习最基本的构件和容器(标签、按钮和面板)来粗略理解这些概念。标签和按钮是显示标签的简单构件;而面板是AWT提供的最基本的容器。 2 几个简单的构件和容器 标签(https://www.wendangku.net/doc/c57240711.html,bel) 标签用来显示文本。 演示(StarterApplet) 面板(java.awt.Panel) 面板是一个通用的容器,在上面可以放置各种构件。 我们经常用的Applet类,其实就是面板的一个子类 按钮(java.awt.Button) 按钮具有三维外型,当它们被激活时触发按钮事件,用户可以根据按钮事件,做出适当的反应,比如执行一系列操作等。 演示 3 事件 AWT有两种事件处理模型:一种是基于继承的模型,它在AWT1.1或以前的版本中使用,现在已经逐渐被淘汰;另一种是基于授权的事件模型。我们主要学习给予授权的事件模型。 授权事件模型的原理很简单:事件源激发事件、事件监听器监听事件,最后执行事件。可以通过调用addXYZListener(XYZListner)方法向构件注册监听器。把监听器加到构件中以后,如果构件激发相应类型的事件,

实例讲解oracle监听口令及监听器安全

很多人都知道,oracle的监听器一直存在着一个安全隐患,假如不设置安全措施,那么能够访问的用户就可以远程关闭监听器。 相关示例: d:>lsnrctl stop eygle lsnrctl for 32-bit windows: version 10.2.0.3.0 - production on 28-11月-2007 10:02:40 copyright (c) 1991, 2006, oracle. all rights reserved. 正在连接到(description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521)) (connect_data=(service_name=eygle))) 命令执行成功 大家可以发现,此时缺省的监听器的日志还无法记录操作地址: no longer listening on: (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521))) 28-nov-2007 09:59:20 * (connect_data=(cid=(program=)(host=)(user=administrator))(command=stop) (arguments=64)(service=eygle)(version=169870080)) * stop * 0 为了更好的保证监听器的安全,大家最好为监听设置密码: [oracle@jumper log]$ lsnrctl lsnrctl for linux: version 9.2.0.4.0 - production on 28-nov-2007 10:18:17 copyright (c) 1991, 2002, oracle corporation. all rights reserved. welcome to lsnrctl, type help for information. lsnrctl> set current_listener listener current listener is listener lsnrctl> change_password old password: new password: reenter new password: connecting to (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521))) password changed for listener the command completed successfully lsnrctl> set password password: the command completed successfully lsnrctl> save_config connecting to (description=(address=(protocol=tcp)(host=172.16.33.11)(port=1521))) saved listener configuration parameters. listener parameter file /opt/oracle/product/9.2.0/network/admin/listener.ora old parameter file /opt/oracle/product/9.2.0/network/admin/listener.bak the command completed successfully 在我们设置密码后,远程操作将会因缺失密码而出现失败: d:>lsnrctl stop eygle lsnrctl for 32-bit windows: version 10.2.0.3.0 - production on 28-11月-2007 10:22:57 copyright (c) 1991, 2006, oracle. all rights reserved.

使用监听器的三种方法

使用监听器的三种方法.txt生活是过出来的,不是想出来的。放得下的是曾经,放不下的是记忆。无论我在哪里,我离你都只有一转身的距离。一、使用监听器的第一种方式 class cal implements ActionListener{//第一点:在类的后面写实现XXListener button1.addActionListener(this);//第二点:为某个组件注册XXListener //第三点:为XXListener中的监听器写实现的代码。 public void actionPerformed(ActionEvent e){ ..... } 二、使用监听器的第二种方式 //在为某组件注册监听器的同时,创建XXListener的匿名对象,并同时在该匿名对象后面写实现 //该监听器的抽象方法。 class cal { button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { ........ } }); //第二点:为某个组件注册XXListener 三、使用监听器的第三种方式 class cal { //注册XXListener,参数为XXListener 的一对象mylistener button1.addActionListener(mylistener);

//创建该XXListener监听器对象mylistener,并且写出其抽象方法的实现代码 ActionListener mylistener= new ActionListener() { public void actionPerformed(ActionEvent evt) { ........ } };

键盘监听器与鼠标监听器

键盘监听器 键盘监听器KeyListener用来监听键盘事件。键盘事件有三种:KEY_PRESSED键按下了,KE Y_RELEASED键松开了,KEY_TYPED键按过了。每个键都有一个键码,普通键的键码就是ASC II码。键码可通过int getKeyCode()方法获得。Java设置了一种“虚拟键码”(Virtual K ey Code),用“VK_”作为前缀,例如VK_G。下面是某些特殊键的虚拟键码。 VK_LEFT/VK_RIGHT 左右方向键VK_CONTROL Ctrl键 VK_KP_UP 小键盘向上VK_ATL Alt键 VK_PAUSE 暂停键VK_SHIFT Shift键 VK_NUMBER0 小键盘数字0 VK_F1 功能键F1 VK_0 数字键0 VK_B 字母键B 虚拟键码对应的是键位,不区分大小写。要想知道大小写还必须查看修饰键(modifier key)。这由输入事件InputEvent的getModifere()方法得到,把返回值与常量SHIFT_MASK, CONT ROL_MASK, ALT_MASK比较,用以判定哪个修饰键处于“同时按下”状态。 监听器KeyListener有三个方法keyPressed(KeyEvent evt),keyReleased(KeyEvent evt), keyTyped(KeyEvent evt),分别用于相应事件发生后的处理。下面的例程中给自己的键盘监听器建立了showKeyEventMsg方法来显示按键信息。 除了getKeyCode()方法得到键码外,还可用getKeyChar()方法得到输入的字符,用getKey Text(code)方法得到输入的字符串。用isShiftDown()判断shift键是否被按下等。当按下Control键时getKeyText返回的是“ctrl",Alt和Shift也类似。 下面的例子演示得到键码和字符的方法,在命令行上显示结果。 例15 本例程演示键盘监听器后键码的用法。 /// // KeyEvt.java

在ppt中的按钮事件

在ppt中的按钮事件 2010-09-03 16:40 要想实现标题所示的效果,得使用VBA来实现! 一:首先介绍如何插入Flash影片 单击“视图/工具栏/控件工具箱”,选择“其他控件/ShoCkwave Flash Object”,在幻灯片中用鼠标拖出一个方框,调整好大小。这样,我们用插入控件的方法插入一个Flash控件,选择当前控件,在“属性”面板中作如下设置:“MovIE”中填入所需的Flash影片名称,“名称”就用默认的“ShockwaveFlash1”,这个名称在后面的VBA编程中要用到。 二:插入命令按钮 ①制作(播放)按钮 在“控件工具箱”中选择“命令按钮”,在幻灯片中拖动,即可拖出一个命令按钮。调整好大小,在“属性”面板中作如下设置:“名称”中输入 “Cmd_play”,“Caption”中输入“播放”。双击该按钮,进入VBA编辑窗口,输入如下内容: Private Sub Cmd_play_Click() ShoCkwaveFlash1.Playing = True End Sub ②制作(暂停)、(前进)、(后退)、(返回)、(结束)按钮 按钮制作的方法同上。“属性”面板中分别作如下设置:暂停按钮的“名称”为“Cmd_pause”,“Caption”为“暂停”;前进按钮按钮的“名称”为“cmd_forward”,“Caption”为“前进”;后退按钮的“名称”为 “cmd_back”,“Caption”为“后退”;返回按钮的“名称”为“cmd_start”,“Caption”为“返回”;结束按钮的“名称”为“cmd_end”,“Caption”为“结束”。 分别为各个按钮加上VBA,命令依次如下: Private Sub Cmd_pause_Click() ShoCkwaveFlash1.Playing = False End Sub Private Sub Cmd_forward_Click() ShoCkwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum + 30 ShoCkwaveFlash1.Playing = True End Sub Private Sub Cmd_back_Click() ShoCkwaveFlash1.FrameNum = ShockwaveFlash1.FrameNum - 30 ShoCkwaveFlash1.Playing = True End Sub Private Sub Cmd_start_Click() ShoCkwaveFlash1.FrameNum = 1 ShoCkwaveFlash1.Playing = True End Sub

JSP中的Filter拦截器和Listener监听器

JSP中的Filter过滤器和Listener监听器 1. JSP中的过滤器 1.1 什么是过滤器 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet 或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择: (1)以常规的方式调用资源(即,调用servlet或JSP页面)。 (2)利用修改过的请求信息调用资源。 (3)调用资源,但在发送响应到客户机前对其进行修改。 (4)阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。 1.2 过滤器的基本原理 过滤器可以对客户的请求进行处理,处理完成后,它会交给下一个过滤器处理。这样,客户的请求在“过滤器链”里逐个处理,直到请求发送到目标为止。例如,某网站里有提交“修改业务数据”的网页,当用户填写完修改信息并提交后,服务器在进行处理时需要做两项工作:判断客户端的会话查看该用户是否有修改权限;对提交的数据进行统一编码。这两项工作可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功,将把视图派发到指定的错误页面。 1.3 过滤器的使用 开发Servlet过滤器的步骤如下:(1)编写实现Filter接口的类;(2)在web.xml中配置Filter。 1.3.1 实现Filter接口类 Filter接口定义了以下方法: 成员描述 destory() 由Web容器调用,初始化此Filter。 init(FilterConfig filterConfig) 由Web容器调用,初始化此Filter。 doFilter(ServletRequest request, 具体过滤处理代码,其中FilterChain参数非常重要,允许通ServletResponse response,FilterChain chain) 过当前过滤器时须要调用FilterChain.doFilter() 下面示例实现一个权限过滤器,若用户尚未登录(Session中没有保存用户信息),将回到登录页面;若已经登录则继续该请求。 public class SecurityFilter implements Filter {

Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置

Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置 分类:Oracle 基础知识2009-11-24 10:12 8315人阅读评论(7) 收藏举报 一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。 二、本地服务名(Tnsname) Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。 本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。 三、Oracle网络连接配置方法 配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle 服务端或客户端的配置)。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如: $ netmgr Windows下启动Net Manager图形窗口如下图示:

Button按钮的四种点击方式

Button按钮的四种点击方式 第一种:直接在代码中设置按钮的点击事件即可 private Button btn; private ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(https://www.wendangku.net/doc/c57240711.html,yout.activity_main3); btn = ((Button) findViewById(R.id.btn)); iv = ((ImageView) findViewById(R.id.iv)); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //第一种点击方式 Toast.makeText(Main3Activity.this,"第一种点击方式",Toast.LENGTH_SHORT).show(); } }); 第二种:在xml布局按钮的属性加上onClick=“...”,然后在代码中撰写该方法即可

相关文档