`

双击惹的祸-如何避免后台功能重复执行

 
阅读更多
<!--StartFragment -->
双击惹的祸-如何避免后台功能重复执行

典型场景:


 
    点击“保存”后,后台将数据保存到数据库中。经常发现数据保存不正常,或者保存两条,或者将原有数据删除。
经过反复测试,原来是双击惹的祸。
分析:
    双击有两种情况,一种是用户点击“保存”按钮是双击鼠标,这是比较常见的情况;另一种是单击保存后,后台

处理较慢,用户着急再次单击。无论哪种情况都会造成后台功能执行两次,后果依据后台处理功能不同而不一样。
解决:
    单击后因后台处理较慢再次单击,这种情况比较好避免,前端单击处理事件中设置保存按钮不可用即可。但即便

如此也避免不了双击造成的执行两次后台功能,因为双击会触发两次单击事件(浏览器不同可能处理方式不同,但
IE是这种机制)。因此,解决双击问题的思路是在第一次进入单击事件中尽快设置互斥标志,第二次进入时检查标志
避免重复进入真正的处理代码。办法如下:


 

需要注意的是,如果逻辑上需要允许用户再次单击保存(比如保存过程中出错了),那么应该找一个时机执行:
setMenuItemEnabled(menu, 'save', true).
这个时机一般应该是后台生理完毕之后,回到前台时执行。

例子中简单地在其它按钮事件中执行:


 


  • 大小: 34.3 KB
  • 大小: 133 KB
  • 大小: 36.6 KB
分享到:
评论

相关推荐

    鼠标模拟点击-后台_8窗口同步-顺序循环-可定时

    这样的功能通常应用于自动化脚本、游戏挂机、测试等场景,以减少人工操作的重复性和提高效率。 描述中的“模拟点击-后台_8窗口内顺序循环-定时”进一步细化了这个功能。它说明该软件可以同时在后台处理8个不同的...

    梦畅--多功能电脑闹钟

    当然,用户也应注意平衡提醒功能和系统性能,避免过多的开机启动程序影响电脑的启动速度。 总的来说,"梦畅--多功能电脑闹钟"是一款实用的提醒工具,旨在提升工作效率,维护用户健康,通过其丰富的定制选项和无后台...

    多窗口后台游戏模拟点击器.rar

    在压缩包内的文件名称“多窗口后台游戏点击器.exe”来看,这是一个可执行文件,意味着它是该工具的主程序。用户下载并解压后,双击这个.exe文件即可启动游戏模拟点击器。使用前,用户可能需要根据软件提供的教程或者...

    BGS11Key 后台按键 

    在日常计算机操作中,用户经常需要重复执行某些特定的任务,如打开程序、复制粘贴文本或者进行复杂的操作序列。BGS11Key 的出现就是为了简化这些流程,提高工作效率。 首先,软件的“小巧灵活”特性意味着它占用...

    TNT后台刷熟练代码

    - **循环逻辑**:通过`Goto`语句实现简单的循环结构,如检测游戏界面中的特定元素是否存在,并重复执行相应的操作。 - **条件判断**:使用`If...Then...Else...EndIf`结构判断屏幕指定位置的颜色是否符合预期,进而...

    鼠标后台点击器.rar

    在压缩包的文件名称列表中,“鼠标后台点击器.exe”是主程序文件,它是Windows操作系统下的可执行文件,用户解压后双击即可启动该软件。这个文件很可能是用编程语言如C#、Java或Python等编写,通过API调用来模拟鼠标...

    仿QQ音乐 exitbar双击退出效果

    自定义库是一种包含特定功能的代码集合,可以被其他项目引用和复用,以减少重复劳动和提高开发效率。在本例中,提供的`AllenExitBar`可能就是一个这样的自定义库,用于实现双击退出的功能。库的导入过程简单,只需要...

    计划任务自动执行工具

    总的来说,"计划任务自动执行工具"是一款提高生产力的利器,它能够帮助用户自动化许多日常重复性的计算机操作,释放更多时间和精力。合理利用这样的工具,可以让我们更高效地管理计算机,实现智能化的生活和工作。

    软件功能简单的破坏性测试方法

    - **功能执行过程中,尝试使用左键单击、右键单击、左键双击、右键双击功能、中键单击、左右键同时按住等鼠标操作方式**: - 测试目的:测试系统对各种鼠标操作方式的响应能力。 - 实施方法:使用上述各种鼠标操作...

    PL/SQL8.0 中文手册

    - 支持自动保存功能,避免意外丢失代码。 - 可以设置不同的保存选项,如保存前检查语法等。 ##### 3.3 修改程序 - 内置强大的代码编辑器,支持代码高亮、自动补全等功能。 - 支持版本控制,方便追踪代码变更。 ###...

    万能鼠标点击器

    - 脚本录制与回放:高级版本可能提供录制鼠标动作并保存为脚本的功能,方便重复执行一系列操作。 2. 工作原理: "万能鼠标点击器"通过捕获系统级别的鼠标事件,模拟真实的鼠标输入。它在后台运行,监控用户设定的...

    轻松学会office

    - 在后台视图中选择“文件”&gt;“另存为”,勾选“保存所有文档”复选框,即可同时保存当前所有打开的文档。 6. **巧妙设置文档保护** - 通过设置密码保护或限制编辑权限,可以有效防止文档被未授权修改。 - ...

    ABB[a]-J-8ABB机器人高级编程.docx

    - `RETRY`: 重复执行引发错误的指令。 - `TRYNEXT`: 执行下一条指令。 - `RETURN`: 返回到调用者位置。 - `ResetRetryCount`: 重置重试计数器。 - **示例**: 1. 创建一个名为`rErrorHandle`的例行程序,并勾选...

    Rev Up to Excel 2010 Upgraders Guide to Excel 2010

    - **定义**:Excel 2010中的“删除重复项”功能可以帮助用户轻松清除数据中的重复记录。 - **作用**:该功能对于确保数据准确性至关重要。 ##### 17. **自动添加子总计** - **定义**:Excel 2010支持在数据列表...

    想拓自动关机重启注销软件

    5. **设置开机启动**:软件提供了开机自启动选项,这样每次计算机启动时,软件都会自动运行并在后台等待执行预设的任务,确保用户设置的计划任务能够准确执行。 从提供的文件名称“想拓自动关机重启注销软件.exe”...

    超赞的198个经典C#WinForm实例源码

    - 多线程:在后台线程执行耗时任务,避免冻结UI。 - 网络通信:发送和接收HTTP请求,实现网络通信。 5. **学习建议** - 逐个实例分析:每个实例都有特定的编程目的,逐一学习并理解其实现原理。 - 扩展实践:在...

    ReliefJetQuicksOutlook安装包以及配置教程(免激活版)

    宏功能则可以让你录制一系列操作,然后通过单个命令重复执行。 总的来说,ReliefJet Quicks for Outlook是一款强大的辅助工具,通过免激活版,用户无需购买即可享受其带来的便利。正确配置后,它能让Outlook在后台...

    xftp5永久免费版

    - 脚本支持:允许用户创建和执行脚本,自动化重复的文件传输任务,节省时间。 - 强大的拖放操作:用户可以直接通过拖放方式完成文件上传和下载,操作简便直观。 2. Xftp5安装步骤: - 下载:从官方网站或其他...

    sap形态基本操作手册

    - **报表/程序的后台运行**: 支持将长时间运行的操作放在后台执行。 - **将报表保存到本地**: 用户可以直接将报表结果保存到本地磁盘。 - **报表查询变式**: 提供了一种保存和加载查询参数的方式。 - **屏幕布局变式...

Global site tag (gtag.js) - Google Analytics