精华内容
下载资源
问答
  • Java给按钮添加事件

    千次阅读 2021-02-12 12:50:46
    展开全部赞一个, 提前学习, 做好预先 , 是个好习惯.java图形界面主要62616964757a686964616fe4b893e5b19e31333365636666有AWT, SWING, SWT, ...要想产生交互效果,就需要了解awt,swing的事件处理机制:事件:用户...

    展开全部

    赞一个, 提前学习, 做好预先 , 是个好习惯.java图形界面主要62616964757a686964616fe4b893e5b19e31333365636666有AWT, SWING, SWT, JavaFx等技术

    JButton  (按钮)是SWING里面很常用的组件. 直接添加按钮到窗口,并不会产生任何交互效果.

    要想产生交互效果,就需要了解awt,swing的事件处理机制:事件:用户对组件的一个操作,称之为一个事件;

    事件源:发生事件的组件就是事件源;

    事件处理器:负责处理事件的方法;

    比如 点击按钮,弹出HelloWord,

    那么 事件是 点击按钮 ,事件源就是按钮,事件处理器就会弹出对话框,显示HelloWord.常用的事件(Event) 有:

    鼠标事件(MouseEvent: 鼠标按下,移入,移除,滚轮..)

    键盘事件(KeyEvent: 键盘按下,释放..)

    动作事件( ActionEvent:当按钮、菜单项被点击,在JTextField中按Enter键时...触发该事件。)按钮添加接收器, 不同的事件,接收器不同.

    比如ActionEvent 那么他的接收器是ActionListener

    KeyEvent 那么他的接收器就是KeyListener

    基础知识,大概就是这些.

    所以想要JButton产生交互,你就需要给他添加事件处理器,当发生这些事件时,出发该处理器,进行处理.

    写2个例子,第一个简单的:点击按钮,弹出Hello World

    17a0d6a5a9f600cc6c133ae725fa21b6.gif//导入3个图形界面,常用的包

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class ButtonDemo extends JFrame {

    public ButtonDemo() {

    JButton jbHello = new JButton("Hello");//按钮

    jbHello.addActionListener(new ActionListener() {//给按钮添加事件接收器

    @Override

    public void actionPerformed(ActionEvent e) {//接受到事件后,进行下面的处理

    System.out.println("Hello World");// 控制台打印输出

    JOptionPane.showMessageDialog(null, "Hello World");// 弹出对话框,显示Hello World

    }

    });

    add(jbHello);//把按钮添加到窗体

    // 窗体属性的设置

    setLayout(new FlowLayout());// 窗体流式布局, 按添加顺序从左到右排列组件

    setSize(300, 200);// 宽300像素,高200

    setLocationRelativeTo(null);// 窗体放在显示器中间

    setTitle("HelloWord");// 窗体的标题

    setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序

    setVisible(true);// 窗体可见

    }

    public static void main(String[] args) {

    new ButtonDemo();

    }

    }

    看明白了吧, addActionListener是关键

    进阶版 :加法计算器.  代码稍微长一点,.但注释很多

    3b621a08c36a507dfac6ec550f01f67d.gif

    参考代码如下import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    //AddFrame继承自JFrame类, 并且实现了ActionListener 接口

    public class AddFrame extends JFrame implements ActionListener {

    // 组件

    JTextField jtf1, jtf2, jtf3;// 文本框,用于:显示数字

    JButton jbAdd;// 按钮,用于:当点击按钮时,计算出加法的结果

    JButton jbClear;// 按钮, 用于,清空数字

    public AddFrame() {// 构造方法

    // 初始化组件

    jtf1 = new JTextField(5);// 长度为5的文本框

    JLabel jl = new JLabel("+");//文字标签

    jtf2 = new JTextField(5);

    jtf3 = new JTextField(6);

    jtf3.setEditable(false);

    jbAdd = new JButton("=");

    jbAdd.addActionListener(this);//因为本类已经实现了ActionListener接口,所以添加事件的接收器就是自己(this)

    jbClear = new JButton("清除");

    jbClear.addActionListener(this);

    //把组件,添加到窗体

    add(jtf1);

    add(jl);

    add(jtf2);

    add(jbAdd);

    add(jtf3);

    add(jbClear);

    // 窗体属性的设置

    setLayout(new FlowLayout());//窗体流式布局, 按添加顺序从左到右排列组件

    setSize(380, 100);// 宽380像素,高100

    setLocationRelativeTo(null);// 窗体放在显示器中间

    setTitle("加法计算器");// 窗体的标题

    setDefaultCloseOperation(EXIT_ON_CLOSE);// 点击窗体右上角的关闭按钮时,结束程序

    setVisible(true);// 窗体可见

    }

    /*

    *  实现ActionListener接口 就必须重写actionPerformed方法

    */

    @Override

    public void actionPerformed(ActionEvent e) {// 当事件产生后,就会执行actionPerformed里的方法

    JButton jbTemp= (JButton) e.getSource();//得到事件源

    if(jbTemp==jbAdd) {//如果是从jbAdd产生的事件.那么执行加法操作

    //因为是简单案例,就不判断和处理,用户乱输入字母汉字等情况,导致的异常了

    int x = Integer.parseInt(jtf1.getText());//从文本框1得到字符串,并转化成数字

    int y = Integer.parseInt(jtf2.getText());

    jtf3.setText(x+y+"");//计算2个数的和,并显示在文本框3上

    }else if(jbTemp==jbClear) {//如果事件源是 jbClear,那么清除文本框的文字

    jtf1.setText("");

    jtf2.setText("");

    jtf3.setText("");

    }

    }

    // main方法

    public static void main(String[] args) {

    new AddFrame();//创建一个AddFrame的实例

    }

    }

    展开全文
  • 如何在Canvas中添加事件

    千次阅读 2019-05-20 18:52:59
    如何在Canvas中添加事件 作为一个前端,给元素添加事件是一件司空见惯的事情。可是在Canvas中,其所画的任何东西都是无法获取的,更别说添加事件,那么我们对其就束手无策了吗?当然不是的!我们在平时项目中肯定都...

    如何在Canvas中添加事件

    作为一个前端,给元素添加事件是一件司空见惯的事情。可是在Canvas中,其所画的任何东西都是无法获取的,更别说添加事件,那么我们对其就束手无策了吗?当然不是的!我们在平时项目中肯定都用过许多Canvas的框架,我们发现事件在这些框架中已经使用的十分成熟了,而且并没有出现特别严重的问题。那么我们可以肯定的是,事件在Canvas中并不是一个无法触及的事情。

    一个傻瓜式的方式

    我们都知道一个元素在触发一个事件时,其鼠标的位置基本处于该元素之上,那么我们就自然而然的想到通过当前鼠标的位置以及物体所占据的位置进行比对,从而我们就能得出该物体是否应触发事件。这种方式比较简单,我就不用代码演示了,不过既然我叫它傻瓜式的方式,很明显它不是一个有效的解决方式。因为物体所占据的位置并不一定是十分容易获取,如果是矩形、圆形等我们还能通过一些简单的公式获取其占据的位置,可是在复杂点的多边形,甚至是多边形的某些边是弧线的,显而易见,我们这时候再获取其所占据的位置时是一件极其复杂且难度极大的事情,所以这种方式只适合自己在做一些demo中使用,并不适用于大多数的情况。

    一个较聪明的方式

    既然上面这种方式碰壁了,那么我们只能另辟蹊径。在翻阅CanvasAPI的时候,找到了一个方法isPointInPath,貌似正是我们苦苦寻找的良药。

    介绍isPointInPath

    isPointInPath的作用:顾名思义,我们很直观的可以知道该方法用以判断点是否处于路径当中。

    isPointInPath的入参出参:ctx.isPointInPath([path, ]x, y [, fillRule]),该方法的参数有4个,其中path和fillRule为选填,x和y为必填。我们依次介绍4个参数。

    path:看到这个参数,我开始以为是beginPath或者closePath的返回值,很可惜的是这两个方法并没有返回值,在查阅了资料后,发现是Path2D构造函数new的对象。Path2D构造函数具体用法。不过可惜的是该方法可能由于兼容性的问题,目前看了一些开源框架都还未使用。

    x,y:这两个参数很好理解,就是x轴和y轴的距离,需要注意的是,其相对位置是Canvas的左上角。

    fillRule:nonzero(默认),evenodd。非零环绕规则和奇偶规则是图形学中判断一个点是否处于多边形内的规则,其中非零环绕规则是Canvas的默认规则。想具体了解这两种规则的,可以自己去查阅资料,这里就不增加篇幅介绍了。

    上面介绍完了入参,那么isPointInPath方法的出参想必大家都可以猜到了,就是true和false。

    使用isPointInPath

    上一节介绍完isPointInPath方法后,我们现在就来使用它吧。

    先来一个简单的demo:

      const canvas = document.getElementById('canvas')
      const ctx = canvas.getContext('2d')
    
      ctx.beginPath()
      ctx.moveTo(10, 10)
      ctx.lineTo(10, 50)
      ctx.lineTo(50, 50)
      ctx.lineTo(50, 10)
      ctx.fillStyle= 'black'
      ctx.fill()
      ctx.closePath()
    
      canvas.addEventListener('click', function (e) {
        const canvasInfo = canvas.getBoundingClientRect()
        console.log(ctx.isPointInPath(e.clientX - canvasInfo.left, e.clientY - canvasInfo.top))
      })
    

    在这里插入图片描述

    如图所示,灰色部分为Canvas所占据的区域,黑色为我们实际添加事件的区域,在我们点击黑色区域后,实际也的确如我们所愿,打印出来的值为true。貌似Canvas的事件监听就这么简单的解决了,不过事情真有这么简单吗。显然是不可能的!我们再来举个例子,这时候有两个区域,并且我们需要分别给其绑定不同的事件:

      const canvas = document.getElementById('canvas')
      const ctx = canvas.getContext('2d')
    
      ctx.beginPath()
      ctx.moveTo(10, 10)
      ctx.lineTo(10, 50)
      ctx.lineTo(50, 50)
      ctx.lineTo(50, 10)
      ctx.fillStyle= 'black'
      ctx.fill()
      ctx.closePath()
    
      ctx.beginPath()
      ctx.moveTo(100, 100)
      ctx.lineTo(100, 150)
      ctx.lineTo(150, 150)
      ctx.lineTo(150, 100)
      ctx.fillStyle= 'red'
      ctx.fill()
      ctx.closePath()
    
      canvas.addEventListener('click', function (e) {
        const canvasInfo = canvas.getBoundingClientRect()
        console.log(ctx.isPointInPath(e.clientX - canvasInfo.left, e.clientY - canvasInfo.top))
      })
    

    在这里插入图片描述

    这个时候,结果就不再如同我们所预计的一样,当点击其中黑色区域时,打印的值为false,点击红色区域时,打印的值为true。

    其实原因很简单,因为上述代码,我们实际创建了两个Path,而isPointInPath方法实际只检测当前点是否处于最后一个Path当中,而例子中红色区域为最后一个Path,所以只有点击红色区域时,isPointInPath方法才能判断为true。现在我们改造一下代码:

      const canvas = document.getElementById('canvas')
      const ctx = canvas.getContext('2d')
      let drawArray = []
    
      function draw1 () {
        ctx.beginPath()
        ctx.moveTo(10, 10)
        ctx.lineTo(10, 50)
        ctx.lineTo(50, 50)
        ctx.lineTo(50, 10)
        ctx.fillStyle= 'black'
        ctx.fill()
      }
    
      function draw2 () {
        ctx.beginPath()
        ctx.moveTo(100, 100)
        ctx.lineTo(100, 150)
        ctx.lineTo(150, 150)
        ctx.lineTo(150, 100)
        ctx.fillStyle= 'red'
        ctx.fill()
        ctx.closePath()
      }
    
      drawArray.push(draw1, draw2)  
    
      drawArray.forEach(it => {
        it()
      })
    
      canvas.addEventListener('click', function (e) {
        ctx.clearRect(0, 0, 400, 750)
        const canvasInfo = canvas.getBoundingClientRect()
        drawArray.forEach(it => {
          it()
          console.log(ctx.isPointInPath(e.clientX - canvasInfo.left, e.clientY - canvasInfo.top))
        })
      })
    

    上面的代码我们进行了一个很大的改造,我们将每个Path放入到一个单独的函数当中,并将它们push到一个数组当中。当触发点击事件时,我们清空Canvas,并遍历数组重新绘制,每当绘制一个Path进行一次判断,从而在调用isPointInPath方法时,我们能实时的获取当前的最后一个Path,进而判断出当前点所处的Path当中。

    现在我们已经间接的实现了对每个Path的单独事件监听,可是其实现的方式需要一次又一次的重绘,那么有办法不需要重绘就能监听事件吗?

    首先我们需要知道一次又一次重绘的原因是因为isPointInPath方法是监听的最后一个Path,不过我们在介绍这个方法的时候,说过其第一个参数是一个Path对象,当我们传递了这个参数后,Path就不再去取最后一个Path而是使用我们传递进去的这个Path,现在我们来个demo来验证其可行性:

      const canvas = document.getElementById('canvas')
      const ctx = canvas.getContext('2d')
    
      const path1 = new Path2D();
      path1.rect(10, 10, 100,100);
      ctx.fill(path1)
      const path2 = new Path2D();
      path2.moveTo(220, 60);
      path2.arc(170, 60, 50, 0, 2 * Math.PI);
      ctx.stroke(path2)
    
      canvas.addEventListener('click', function (e) {
        console.log(ctx.isPointInPath(path1, e.clientX, e.clientY))
        console.log(ctx.isPointInPath(path2, e.clientX, e.clientY))
      })
    

    在这里插入图片描述

    如上图所示,我们点击了左边图形,打印true,false;点击右边图形,打印false,true。打印的结果表明是没有问题的,不过由于其兼容性还有待加强,所以目前建议还是使用重绘方式来监听事件。

    结语

    Canvas的事件监听讲到这里基本就差不多了,原理很简单,大家应该都能掌握。

    github地址 欢迎start

    附录

    自己写的一个demo

      const canvas = document.getElementById('canvas')
    
      class rectangular {
        constructor (
          ctx, 
          {
            top = 0,
            left = 0,
            width = 30,
            height = 50,
            background = 'red'
          }
        ) {
          this.ctx = ctx
          this.top = top
          this.left = left
          this.width = width
          this.height = height
          this.background = background
        }
    
        painting () {
          this.ctx.beginPath()
          this.ctx.moveTo(this.left, this.top)
          this.ctx.lineTo(this.left + this.width, this.top)
          this.ctx.lineTo(this.left + this.width, this.top + this.height)
          this.ctx.lineTo(this.left, this.top + this.height)
          this.ctx.fillStyle = this.background
          this.ctx.fill()
          this.ctx.closePath()
        }
    
        adjust (left, top) {
          this.left += left
          this.top += top
        }
      }
    
      class circle {
        constructor (
          ctx, 
          {
            center = [],
            radius = 10,
            background = 'blue'
          }
        ) {
          this.ctx = ctx
          this.center = [center[0] === undefined ? radius : center[0], center[1] === undefined ? radius : center[1]]
          this.radius = radius
          this.background = background
        }
    
        painting () {
    
          this.ctx.beginPath()
          this.ctx.arc(this.center[0], this.center[1], this.radius, 0, Math.PI * 2, false)
          this.ctx.fillStyle = this.background
          this.ctx.fill()
          this.ctx.closePath()
        }
    
        adjust (left, top) {
          this.center[0] += left
          this.center[1] += top
        }
      }
    
      class demo {
        constructor (canvas) {
          this.canvasInfo = canvas.getBoundingClientRect()
          this.renderList = []
          this.ctx = canvas.getContext('2d')
          this.canvas = canvas
          this.rectangular = (config) => {
            let target = new rectangular(this.ctx, {...config})
            this.addRenderList(target)
            return this
          }
    
          this.circle = (config) => {
            let target = new circle(this.ctx, {...config})
            this.addRenderList(target)
            return this
          }
          this.addEvent()
        }
    
        addRenderList (target) {
          this.renderList.push(target)
        }
    
        itemToLast (index) {
          const lastItem = this.renderList.splice(index, 1)[0]
    
          this.renderList.push(lastItem)
        }
    
        painting () {
          this.ctx.clearRect(0, 0, this.canvasInfo.width, this.canvasInfo.height)
          this.renderList.forEach(it => it.painting())
        }
    
        addEvent () {
          const that = this
          let startX, startY
    
          canvas.addEventListener('mousedown', e => {
            startX = e.clientX
            startY = e.clientY
            let choosedIndex = null
            this.renderList.forEach((it, index) => {
              it.painting()
              if (this.ctx.isPointInPath(startX, startY)) {
                choosedIndex = index
              }
            })
            
            if (choosedIndex !== null) {
              this.itemToLast(choosedIndex)
            }
    
            document.addEventListener('mousemove', mousemoveEvent)
            document.addEventListener('mouseup', mouseupEvent)
            this.painting()
          })
    
          function mousemoveEvent (e) {
            const target = that.renderList[that.renderList.length - 1]
            const currentX = e.clientX
            const currentY = e.clientY
            target.adjust(currentX - startX, currentY - startY)
            startX = currentX
            startY = currentY
            that.painting()
          }
    
          function mouseupEvent (e) {
            const target = that.renderList[that.renderList.length - 1]
            const currentX = e.clientX
            const currentY = e.clientY
    
            target.adjust(currentX - startX, currentY - startY)
            startX = currentX
            startY = currentY
            that.painting()
            document.removeEventListener('mousemove', mousemoveEvent)
            document.removeEventListener('mouseup', mouseupEvent)
          }
        }
      }
    
      const yes = new demo(canvas)
        .rectangular({})
        .rectangular({top: 60, left: 60, background: 'blue'})
        .rectangular({top: 30, left: 20, background: 'green'})
        .circle()
        .circle({center: [100, 30], background: 'red', radius: 5})
        .painting()
    

    在这里插入图片描述

    展开全文
  • <title>JavaScript-添加事件三种方式 我是按钮 var oBtn = document.getElementById("btn"); addEvent(oBtn, "click", function () { console.log(666); }); addEvent(oBtn, "click", function () { ...

    布局html页面,放入一个button按钮即可。

    <button id="btn">我是按钮</button>
    

    获取button按钮

    var oBtn = document.getElementById("btn");
    

    点击按钮的三种方式

    方式一:给对象的属性赋值

    注意点:由于是将函数(function)赋值给了一个对象(oBtn)的属性(onclick),所以后赋值的会覆盖先赋值的。

        oBtn.onclick = function () {
            console.log("666");
        }
        oBtn.onclick = function () {
            console.log("777");
        }
        只打印777,不打印666
    
    方式二:

    通过addEventListener方法添加。
    需要给addEventListener方法传入两个参数:

    • 参数一:执行的事件.
    • 参数二:事件发生后的回调方法。
    • 注意点:
      1.事件名称不需要添加on
      2.后添加的不会覆盖先添加的
      3.只支持最新的浏览器IE9及以上。
        oBtn.addEventListener("click", function () {
            console.log(666);
        })
        oBtn.addEventListener("click", function () {
            console.log(777);
        })
    
    方式三:低版本的浏览器支持的方法
    • 注意点:
      1.事件名称需要添加on
      2.后添加的不会覆盖先添加的
      3.只支持IE9以下的浏览器
        oBtn.attachEvent("onclick", function () {
             console.log(666);
         })
        oBtn.attachEvent("onclick", function () {
            console.log(777);
        })
    
    方式四:解决兼容、及相同的事件后面的覆盖前面的问题
        addEvent(oBtn, "click", function () {
            console.log(666);
        });
        addEvent(oBtn, "click", function () {
            console.log(777);
        });
         function addEvent(ele, name, fn) {//元素   事件   回调函数
             console.log(ele.attachEvent);
             if(ele.attachEvent){//如果元素有attachEvent属性,就执行下面的代码
                ele.attachEvent("on" + name, fn);
            }else {//高级浏览器执行的方法
                ele.addEventListener(name, fn);
            }
         }
    

    鼠标点击事件最终解决方案完整代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>JavaScript-添加事件三种方式</title>
    </head>
    <body>
    <button id="btn">我是按钮</button>
    <script>
        var oBtn = document.getElementById("btn");
        addEvent(oBtn, "click", function () {
            console.log(666);
        });
        addEvent(oBtn, "click", function () {
            console.log(777);
        });
        
        //添加事件的函数
         function addEvent(ele, name, fn) {//元素   事件   回调函数
             console.log(ele.attachEvent);
             if(ele.attachEvent){//如果元素有attachEvent属性,就执行下面的代码
                ele.attachEvent("on" + name, fn);
            }else {//高级浏览器执行的方法
                ele.addEventListener(name, fn);
            }
         }
    </script>
    </body>
    </html>
    
    展开全文
  • js中添加事件的三种方法

    千次阅读 2021-01-08 23:31:17
    1. <input onchange="handle(event)"/> function handle(e){ console.log(e.target.value) } 2 const btn = document.querySelector('.btn'); btn.addEventListener('click', () =>...
    1.    <input onchange="handle(event)"/>
            function handle(e){
            console.log(e.target.value)
            }
           2 const btn = document.querySelector('.btn');
            btn.addEventListener('click', () => {
                console.log('dianji')
            })
            3、btn.onclick = function () {
                console.log('点')
            }

     

    展开全文
  • JQuery添加事件监听

    千次阅读 2019-06-25 14:45:56
    一)JQuery选择器: 二)JQuery文档加载事件: //文档加载事件一 $(document).ready(function(){ alert("文档加载完成1!...三)bind()添加事件监听: 例一:(给p元素添加一个点击事件) <p>哈哈</p> $...
  • IOS系统日历中添加事件

    千次阅读 2018-03-14 14:05:14
    IOS系统日历中添加事件 1.在Info.plist中添加访问日历权限 &lt;key&gt;NSCalendarsUsageDescription&lt;/key&gt; &lt;string&gt;App需要您的同意,才能访问日历&lt;/string&gt;...
  • 最近学校的数据库实验用MFC+VS2019写小型数据库管理程序,自学MFC,按以下步骤添加菜单跳转窗口时遇到了菜单添加事件处理程序一直是灰的,点不了的问题。 MFC插入MENU菜单栏并点击菜单弹出新窗口 菜单添加事件处理...
  • 二、Javascript中添加事件的三种方式 (1)通过在标签中为对应事件添加设定值来添加事件 (2)通过元素(Element)事件属性添加事件 (3)通过元素(Element)事件监听器添加事件 一、Javascript中event对象 ...
  • 在vue中如何使用addEventListener添加事件、removeEventListener移除事件 最近在项目中需要用到addEventListener监听滚动条滚动的高度,所以就研究了一下在vue中是怎么进行事件监听的。 添加事件 给要添加事件的元素...
  • 近期在开发项目中,遇到一个问题,就是给动态生成的元素添加事件,用平常使用的方法添加不上,废话不多说,上代码: &lt;div id="mydiv"&gt;&lt;/div&gt; &lt;script&gt; var...
  • 给按钮添加事件的方法

    千次阅读 2019-02-13 15:18:00
    给按钮添加事件的方法 例子:给按钮添加绑定事件: &lt;button type="submit" id="btn"&gt;btn&lt;/button&gt; 第一种:$("#btn").click(function...
  • 1事件处理作用 应用程序是事件驱动的,所以开发应用程序时,和...(3)添加事件处理程序 3实现方法: 与一般的JAVA程序中事件处理的实现方法相同 (1)使用匿名内部类(即在设置事件监听器的同时设置一个匿名类) (...
  • h5 给元素添加事件

    千次阅读 2019-04-18 15:09:55
    1)普通的<button>标签 <button onclick='testClick()' id ='testClick' >按钮事件</button> 1.1通过事件属性onclick="函数"来实现onclick='testClick()' ... //通过获取元素添加事件 ...
  • Vue给DOM元素添加事件的特殊情况

    千次阅读 2020-03-12 21:48:14
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title>...script type="text/javascript"src="../vue/dist/vue.min.js">&l...
  • JQ实现向动态元素添加事件

    千次阅读 2019-06-05 10:57:48
    最近做的工作需要添加微信统计,然后页面里是动态添加的模拟对话,需要给动态添加的元素添加点击复制事件。 第一就想到了JQ的bind事件,可是经过测试发现,bind事件不能给动态添加的元素进行事件添加,不能放弃啊,...
  • 为一个DOM元素添加事件的3种方式

    千次阅读 2018-12-25 15:21:17
    将html与js代码彻底分离,在js中为指定元素添加事件处理 在JavaScript代码中(即标签内)绑定事件可以使JavaScript代码与HTML标签分离,文档结构清晰,便于管理和开发。 在JavaScript代码中绑定事件的...
  • jquery结合js实现向后台发送请求,给页面动态添加内容,并给动态添加的内容添加事件.html内容如下: &lt;button class="btn btn-md customButton" id="add_red_envelope"&gt;添加红包&...
  • 给dom元素添加事件的监听

    千次阅读 2019-02-23 10:28:10
    一、addEventListener给dom元素添加事件的监听有两种方式 1.用匿名函数方式添加事件的监听 例 &amp;lt;head lang=&quot;en&quot;&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;...
  • 写网页时我们可能一组元素增加一个相同的事件, 比如下图的下拉菜单中每项都有一个鼠标悬停事件和鼠标悬出事件(onmouseover和onmouseout事件) 不会的同学可以看看介绍这两个事件的一个小实例博客 ...
  • JS中为一个对象添加事件

    千次阅读 2019-06-24 16:38:53
    例如:在js中,为一个button添加onclick事件可以这样写: button.onclick=ClickEvent; ClickEvent是一个函数。这样在ClickEvent没有参数的时候是可以的,但在ClickEvent需要一个参数的时候,就不行了。这时...
  • UGUI中Button添加事件大总结(有参,无参,动态)

    万次阅读 多人点赞 2018-04-25 14:27:49
    总结下从网上看到的大部分Button添加事件的方法,总结了有9种,中间原理可能有重复的,最后是一些注意事项一.Inspector面板拖拽添加无参函数1.Hierarchy窗口建立一个空物体2.创建Button和一个空物体GameObject3.创建...
  • addEventListener添加事件处理程序 我们以前通常使用对象属性来给事件指定处理程序 ,如处理加载事件时,我们将事件处理程序赋给属性window.onload,又例如处理按钮点击事件,我们将事件处理程序赋给按钮的onclick...
  • window、document添加事件addEventListener

    千次阅读 2018-08-01 18:12:06
    事件捕获,从dom结构上到下,window.addEventListener先于document.addEventListener被捕获 事件冒泡,从dom结构底层向上传递,document.addEventListener先于window.addEventListener被触发 在addEventListener第...
  • VS2010 手动为控件添加事件处理函数

    千次阅读 2017-06-07 13:14:58
    今天在为一个按钮控件添加事件处理函数时。类向导死活添加不上函数。无奈只能手动添加了。  下面记录下来,以备以后查询和给有需要的提供参考吧  手动为控件添加事件处理函数比较简单,只需要几步就可以完成。 ...
  • C# timer添加事件处理

    千次阅读 2018-10-14 18:37:42
    代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq;...添加过程: 执行结果如下:
  • ![图片说明](https://img-ask.csdn.net/upload/201904/16/1555423095_893750.png) 但是用MFC可以 求个爹解决
  • svg动态添加事件

    千次阅读 2017-10-13 16:26:36
    html> html lang="en"> head> meta charset="utf-8"> title>流程图 BZ08_Mtitle> head> style> input{ margin: 10px; } style> body> div> input value="A1" type="checkbox"> input v
  • js---Dom给元素添加事件的两种方式

    万次阅读 2019-01-15 19:58:49
    1.按照事件三要素的语法来添加事件,这种方式能让html元素和js脚本分离 例如: Html元素: &lt;input type="button" id="btn1" value="插入节点到末尾" /&gt; Js脚本 &...
  • es6 为动态添加的元素添加事件

    千次阅读 2017-12-28 17:45:52
    做商品属性的时候,需要动态添加商品属性,但是在添加啦输入框后再点击删除按钮删除不了,开始是这样写的: $('#panel-product-property .property-remove').each( (_index, element) => $(element).on('click', ()...
  • JS中添加事件及区别

    万次阅读 2018-05-30 09:00:01
    1. 直接在html标签上添加 &lt;div onclick="...2. 使用JS的DOM的方法添加 document.getElementById('bt').onclick=function(){alert('syl');} document.getElementById('bt').onclick=function(){...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,260,131
精华内容 504,052
关键字:

添加事件

友情链接: libMyAdd.rar