按钮点击触发的事件只生效一次
朋友的一个面试题如下:
面试官问:写一个函数,使按钮点击触发的事件只生效一次???
你: 。。。【往下看】
方法1:
/**方法1: 通过设置全局变量来控制*/var oBtn = document.getElementById('btn')var isClick = false;oBtn.onclick = function() { if(isClick) {} else {//触发的函数体console.log('111')isClick = true;}}
方法2:
/**方法2: 通过点击事件执行完,置空来控制*/oBtn.onclick = function() { console.log('123')oBtn.onclick = null;}
方法3:
/**方法3: 通过闭包fn来控制*/function once(fn) {var result;return function() {if(fn) {fn.apply(this, arguments)fn = null;}}}var callOnce = once(function() {console.log('js')})oBtn.onclick = callOnce;
原创不易,自由转载,保留出处
按钮点击触发的事件只生效一次相关推荐
- onchange事件只生效一次的问题
今天遇到一个file表单元素,对onchange事件的响应问题,发现仅响应一次,网上查到解决方法,在这里转载一下 文件选择框的onchange事件只在第一次改变时生效,以后再选择文件不会触发oncha ...
- html 点击文本框则选中,JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...
内容选中事件(onselect) 选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行. 如下代码,当选中用户文本框内的文字时,触发onselect 事件, ...
- js区分单击双击,双击不会触发单击事件
如果一个按钮,单击触发的事件跟双击触发的是不同的业务,那么这里介绍的就是如何处理双击的过程中不触发单击事件的方法 <html><meta charset="UTF-8&qu ...
- [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情
引言: 当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑 ...
- 通过代码触发按钮点击事件
PerformClick 手动触发按钮 点击(Click) 事件 (Visual C#) 操作过程 在"新建项目"对话框中的"模板"窗格中,单击"W ...
- android 点击事件两次,Android 按钮点击两次触发不同的事件
标题:Android 按钮点击两次触发不同的事件 方案:采用flag标记的方式,每次单击标记为0,再次点击判断flag的值 package com.ldl.ui; import android.app ...
- c调用按钮点击事件_Unity3d---对UI事件接口的一些测试和机制(坑)的总结
开文来记录一下自己摸索到的UI事件接口的一些运作机制(坑),就不赘述具体怎么使用这些事件接口了(不做教学...),本文主要是记自己发现的一些坑点 主要针对于在复杂的UI嵌套关系下,鼠标指针和拖拽操作的 ...
- 设置html按钮点击事件无效果,css怎么设置按钮不能点击?
css怎么设置按钮不能点击?下面本篇文章就来给大家介绍一下使用CSS设置按钮不能点击的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 想要按钮不能点击可以通过设置按钮点击事件失 ...
- java监听焦点事件_监听input输入框的失去焦点事件与按钮点击事件执行的顺序问题...
1.问题描述 当在监听input失去焦点的事件的时候,在input输入框输入一段文字之后,点击发送按钮会发现,只触发了失去焦点事件,按钮点击事件并没有被触发,当再次点击按钮的时候,事件才会被触发 2. ...
- html页面如何跳转到asp,asp点击按钮跳转页面 ASP中按钮的点击触发网页跳转
ASP中按钮的点击触发网页跳转 asp中要实现点击一个按钮转到另一个网页有几种方法就是按下一个BUTTON,转到另一个网页,一共有哪些方式实现? 我只知道ona标签,背景图按钮,直接点击跳转链接hre ...
最新文章
- 一次搞定OpenCV源码及扩展模块的编译与环境配置
- ci ajax js,CodeIgniter4 AJAX请求
- electron 两个窗口如何通信_关于 Electron 进程间通信的一个小小实践
- 西里尔字 - 俄罗斯
- Activemq 安全机制以及稳定性研究
- Mac下搭建cocos2d 和cocos2d -x 环境
- blender使用_DigiVita使用Blender教女孩编码
- Linux项目日报,1Password推出Linux版本 现已进入公开预览阶段
- 如何使用SPSS进行计算变量的操作
- 【创建交互式 Dice Roller 应用】
- spring boot企业合同管理系统毕业设计源码161456
- cad管线交叉怎么画_CAD角度怎么画?我来告诉你!
- net::ERR_FILE_NOT_FOUND报错
- Allegro 的一些实用操作技巧
- 刀片服务器的机箱显示器,思科 UCS 5100系列刀片服务器机箱
- VR全景制作拍摄方法教程
- Java训练work3.Exer3---去重与排序
- Photoshop自动色阶调整原理
- Python基础之集合
- 计算机网络——第2章 物理层