掌桥专利:专业的专利平台
掌桥专利
首页

表格行失焦监听方法、设备及计算机可读存储介质

文献发布时间:2024-04-18 19:58:26


表格行失焦监听方法、设备及计算机可读存储介质

技术领域

本申请涉及虚拟表格技术领域,尤其涉及一种表格行失焦监听方法、装置、设备及计算机可读存储介质。

背景技术

网页浏览应用程序一般以列表视图向用户呈现数据。对于列表视图的虚拟表格,包括可编辑虚拟表格与不可编辑虚拟表格,对于可编辑的虚拟表格,需要对虚拟表格的行失焦事件进行监听,以便进行后续的数据业务处理,如行失焦后进行整行数据保存和数据校验等。但目前的可编辑虚拟表格中,一般通过自定义行组件对虚拟表格进行失焦监听,但只能对虚拟表格的单元格进行失焦监听,例如,当在同行内单元格中进行相继操作或离开当前行时,都会触发虚拟表格的行失焦事件,但此时用户在同行单元格操作,实际上虚拟表格并未触发行失焦,那么虚拟表格的单元格失焦时,都认为监听到虚拟表格行失焦的监听方式,会导致行失焦事件的频繁触发,虚拟表格频繁的进行数据保存以及数据检验等工作,页面性能大大降低。

综上,如何实现对虚拟表格行失焦事件的有效监听是本技术领域亟待解决的技术问题。

发明内容

本申请的主要目的在于提供一种表格行失焦监听方法、设备及计算机可读存储介质,旨在解决如何实现对虚拟表格的行失焦事件的有效监听的技术问题。

为实现上述目的,本申请提供一种表格行失焦监听的方法,包括以下步骤:

监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件;

若监听到虚拟表格触发单元格失焦事件,确定触发单元格失焦事件的第一单元格的第一行号,将历史失焦行号设置为所述第一行号,将所述历史失焦行号存储至预设存储区;

若监听到虚拟表格触发单元格聚焦事件,确定触发单元格聚焦事件的第二单元格的第二行号,从预设存储区获取历史失焦行号,检测所述第二行号与获取到的所述历史失焦行号是否一致,若所述第二行号与获取到的所述历史失焦行号不一致,则触发所述历史失焦行号的行失焦事件。

可选地,所述将历史失焦行号设置为所述第一行号的步骤之后,所述方法还包括:

控制预设计时器开始计时,并确定所述预设计时器的累计计时时长;

若所述累计计时时长大于预设延迟时长,则触发所述历史失焦行号的行失焦事件。

可选地,所述确定触发单元格聚焦事件的第二单元格的第二行号的步骤之后,所述方法还包括:

检测预设存储区是否为空,若所述预设存储区不为空,则执行从预设存储区获取历史失焦行号的步骤;

所述从预设存储区获取历史失焦行号的步骤之后,所述方法还包括:

检测获取到的所述历史失焦行号是否与预设初始活动行号匹配;

若获取到的所述历史失焦行号与预设初始活动行号匹配失败,则执行检测所述第二行号与获取到的所述历史失焦行号是否一致的步骤。

可选地,所述触发所述历史失焦行号的行失焦事件的步骤之后,所述方法还包括:

检测所述行失焦事件是否触发成功,若所述行失焦事件触发成功,将所述预设存储区中的所述历史失焦行号设置为预设初始活动行号或者,将所述预设存储区中的所述历史失焦行号删除。

可选地,所述监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件的步骤,包括:

获取虚拟表格中当前处于编辑状态的第三单元格;

若在预设屏幕的当前显示区域内检测到点击事件,获取所述点击事件对应的点击位置;

确定所述第三单元格对应的第三单元格区域,检测所述点击位置是否在所述第三单元格区域内;

若所述点击位置不在所述第三单元格区域内,则确定所述虚拟表格触发单元格失焦事件。

可选地,所述获取所述点击事件对应的点击位置的步骤之后,所述方法还包括:

确定所述虚拟表格中包括的每一单元格对应的单元格区域,依据各所述单元格区域确定所述点击位置所在的第四单元格区域;

确定所述第四单元格区域对应的第四单元格,将所述第四单元格的单元格状态设置为编辑状态,并在检测到所述第四单元格进入到编辑状态时,则确定所述虚拟表格触发单元格聚焦事件。

可选地,所述确定所述虚拟表格中包括的每一单元格对应的单元格区域的步骤之后,所述方法还包括:

确定各所述单元格中在所述当前显示区域内的目标单元格;

确定目标单元格对应的目标单元格区域,确定所述点击位置是否在所述目标单元格区域内;

若所述点击位置在所述目标单元格区域内,则执行依据各所述单元格区域确定所述点击位置所在的第四单元格区域的步骤。

此外,为实现上述目的,本申请还提供一种表格行失焦监听装置,所述表格行失焦监听装置,包括:

监听模块,用户监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件;

确定模块,用于若监听到虚拟表格触发单元格失焦事件,确定触发单元格失焦事件的第一单元格的第一行号,将历史失焦行号设置为所述第一行号,将所述历史失焦行号存储至预设存储区;

触发模块,用于若监听到虚拟表格触发单元格聚焦事件,确定触发单元格聚焦事件的第二单元格的第二行号,从预设存储区获取历史失焦行号,检测所述第二行号与获取到的所述历史失焦行号是否一致,若所述第二行号与获取到的所述历史失焦行号不一致,则触发所述历史失焦行号的行失焦事件。

此外,为实现上述目的,本申请还提供一种表格行失焦监听设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的表格行失焦监听程序,所述表格行失焦监听程序被所述处理器执行时实现如上述的表格行失焦监听方法的步骤。

此外,为实现上述目的,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有表格行失焦监听程序,表格行失焦监听程序被处理器执行时实现如上述的表格行失焦监听方法的步骤。

本申请中通过监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件;若监听到虚拟表格触发单元格失焦事件,确定触发单元格失焦事件的第一单元格的第一行号,将历史失焦行号设置为所述第一行号,将所述历史失焦行号存储至预设存储区;若监听到虚拟表格触发单元格聚焦事件,确定触发单元格聚焦事件的第二单元格的第二行号,从预设存储区获取历史失焦行号,检测所述第二行号与获取到的所述历史失焦行号是否一致,若所述第二行号与获取到的所述历史失焦行号不一致,则触发所述历史失焦行号的行失焦事件。如此,与现有技术中监听到虚拟表格的单元格失焦时,就认为虚拟表格监听到虚拟表格行失焦的监听方式相比,本申请实施例通过监听到虚拟表格聚焦时,比较聚焦的第二单元格对应的第二行号与历史失焦行号是否一致,聚焦的单元格行号与失焦单元格行号不一致时,才确定监听到虚拟表格的行失焦,触发行失焦事件,从而实现了对虚拟表格行失焦事件的有效监听。

附图说明

本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

图1是本申请实施例方案涉及的硬件运行环境的终端装置结构示意图;

图2为本申请表格行失焦监听方法第一实施例的流程示意图;

图3为本申请表格行失焦监听方法的第一实施例的另一流程示意图;

图4为本申请表格行失焦监听方法中第二实施例的流程示意图;

图5是本申请表格行失焦监听装置的装置模块示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,图1为本申请实施例方案涉及的硬件运行环境的表格行失焦监听设备结构示意图。

如图1所示,该表格行失焦监听设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对表格行失焦监听设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及表格行失焦监听程序。

在图1所示的表格行失焦监听设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请表格行失焦监听设备中的处理器1001、存储器1005可以设置在表格行失焦监听设备中,所述表格行失焦监听设备通过处理器1001调用存储器1005中存储的表格行失焦监听程序,并执行本申请实施例提供的表格行失焦监听方法。

网页浏览应用程序一般以列表视图向用户呈现数据。对于列表视图的虚拟表格,包括可编辑虚拟表格与不可编辑虚拟表格,对于可编辑的虚拟表格,需要对虚拟表格的行失焦事件进行监听,以便进行后续的数据业务处理,如行失焦后进行整行数据保存和数据校验等。但目前的可编辑虚拟表格,如antd、rc-virtual-list,antd的可编辑虚拟表格实现,因其采用的布局实现方式中没有行父元素,无法监听到表格的行失焦事件,只能监听到单元格失焦,无法顺利实现行失焦的监听。rc-virtual-list的可编辑虚拟列表实现,可以通过自定义行组件实现成功监听行失焦;但当在同行内单元格中进行相继操作或离开当前行时,都会触发行失焦,导致无法区分出符合预期的行失焦事件。

虚拟表格行失焦事件无法按照预期触发,这就导致了填写一行数据时,若该行中各个单元格存在多个校验,每填写一个,就会触发一次校验,影响体验。并且无法实现填写完整行数据后再进行数据保存的需求。

基于上述现象,参照图2,本申请提供一种表格行失焦监听方法,在表格行失焦监听方法的第一实施例中,表格行失焦监听方法包括以下步骤:

步骤S10,监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件;

对虚拟表格进行单元格聚焦事件与单元格失焦事件的监听,也即对表格内的所有单元格进行失焦与聚焦的监听,当虚拟表格中单元格聚焦事件或单元格失焦事件实际上由一个具有的单元触发。且可以理解地是,单元格聚焦事件与单元格失焦事件一般是相继触发的,如用户当前正在编辑A单元格,A单元格编辑完成后,用户点击B单元格对B单元格进行编辑,则会相继触发A单元格的单元格失焦事件与B单元格的单元格聚焦事件,但在用户首次点击虚拟表格中的单元格时,此时虚拟表格仅触发单元格聚焦事件,未触发单元格失焦事件。

步骤S20,若监听到虚拟表格触发单元格失焦事件,确定触发单元格失焦事件的第一单元格的第一行号,将历史失焦行号设置为所述第一行号,将所述历史失焦行号存储至预设存储区;

用户在虚拟表格的单元格内操作时,一般虚拟表格的单元格聚焦事件与单元格失焦事件是相继触发的,且一般先是用户点击前正在编辑的单元格失焦后用户当前点击的单元格聚焦。此时,若监听到虚拟表格触发单元格失焦事件,则确定虚拟表格中触发单元格失焦事件的第一单元格。与虚拟表格单元格聚焦事件的触发类似,举例来说,假设如用户当前正在编辑A单元格,A单元格编辑完成后,用户点击B单元格对B单元格进行编辑,触发单元格失焦事件的单元格为A单元格。

当虚拟表格触发单元格失焦事件时,确定触发失焦单元格在虚拟表格中的第一行号,将第一行号作为历史失焦行号,且可设置历史失焦行号的预设初始活动行号,预设初始活动行号与虚拟表格的任意行号不相同,如-1、-2等。由此,检测到虚拟表格触发单元格失焦事件时,确定触发单元格失焦事件的第一单元格的第一行号,将历史失焦行号赋值为此第一行号。举例来说,假设上述A单元格为1行1列的单元格,则历史失焦行号赋值为1。

预设计时器的作用为用于计时,预设计时器的数量与设置方式本实施例并不做限制。在一可行的实施例中,可仅为虚拟表格对应设置一个计时器,检测到虚拟表格触发单元格失焦事件时,将历史失焦行号赋值为触发单元格失焦事件的单元格的行号,并控制计时器开始计时。在另一可行的实施例中,虚拟表格的每一行可对应设置一个计时器,此时,可控制触发单元格失焦事件的单元格的第一行号对应的设置的计时器开始计时。在另一可行的实施方式中,虚拟表格的每一单元格可对应设置一个计时器,此时,可控制触发单元格失焦事件的第一单元格对应设置的计时器开始计时。

本实施例中,在监听到虚拟表格的触发单元格失焦事件时,确定虚拟表格中触发单元格失焦事件的第一单元格,确定第一单元格对应的第一行号,将第一行号作为历史失焦行号,进一步可将历史失焦行号存储至预设存储区,控制预设计时器开始计时,也即虚拟表格的单元格触发单元格失焦事件时,并不立即认为虚拟表格触发行失焦,而是将当前触发单元格失焦事件的第一单元格的第一行号赋值为历史失焦行号,并控制计时器开始计时,以对记录第一单元格的失焦时间,延迟触发虚拟表格的行失焦,可以避免用户误点击鼠标、或者在同行单元格进行相继操作时,误认为虚拟表格触发行失焦的现象发生。

在一实施例中,所述将历史失焦行号设置为所述第一行号的步骤之后,所述方法还包括:

步骤A10,控制预设计时器开始计时,并确定所述预设计时器的累计计时时长;

步骤A20,若所述累计计时时长大于预设延迟时长,则触发所述历史失焦行号的行失焦事件。

该预设延迟时长可由用户根据实际情况提前设置,如400毫秒、500毫秒、600毫秒等。第一单元格触发单元格失焦事件,导致预设计时器开始计时后,若监听到虚拟表格触发单元格聚焦事件,此时可控制预设计时器停止计时。举例来说,假设如上述如用户当前正在编辑A单元格,A单元格编辑完成后,用户点击B单元格对B单元格进行编辑,A单元格为1行1列的单元格,则A单元格触发单元格失焦事件后,历史失焦单元格赋值为1,且预设计时器开始计时,则在监听到B单元格单元格聚焦事件时,预设计时器停止计时,并执行步骤S30。由此,预设计时器的累计计时时长大于预设延迟时长,则可确定自第一单元格失焦时开始的预设延迟时长内未监听到虚拟表格单元格聚焦事件,可能是因为用户点击了虚拟表格的非可编辑单元格区域或点击了虚拟表格之外的区域等原因,导致虚拟表格触发单元格失焦事件后未相继触发单元格聚焦事件,此时,可确定虚拟表格行失焦,触发历史失焦行号的行失焦事件,及时对历史失焦行号对应行的整行数据进行数据保存或数据校验等后续数据处理业务操作。

步骤S30,若监听到虚拟表格触发单元格聚焦事件,确定触发单元格聚焦事件的第二单元格的第二行号,从预设存储区获取历史失焦行号,检测所述第二行号与获取到的所述历史失焦行号是否一致,若所述第二行号与获取到的所述历史失焦行号不一致,则触发所述历史失焦行号的行失焦事件。

监听到虚拟表格触发单元格聚焦事件时,则确定虚拟表格中触发单元格聚焦事件的第二单元格。举例来说,假设用户点击B单元格,导致B单元格进入编辑状态,则触发单元格聚焦事件的第二单元格为B单元格。

监听到虚拟表格触发单元格聚焦事件时,确定触发单元格聚焦事件的第二单元格对应的第二行号,并可从预设存储区获取历失焦行号,比较聚焦的第二行号与失焦的历史失焦行号是否一致,从而可确定是否为用户在同行内表格进行相继操作而导致同行内单元格的相继失焦与聚焦。若第二行号与历史失焦行号一致,则确定触发的聚焦的第二单元格与上一个触发失焦的第一单元格是否为同一行的单元格,虚拟表格并未触发行失焦,销毁历史失焦行号的行失焦事件。

进一步,监听到虚拟表格触发单元格聚焦事件时,还可控制所述预设计时器停止计时,将预设计时器的累计计时时长重置为零。

所述确定所述第二单元格对应的第二行号的步骤之后,所述方法还包括:

步骤B10,检测预设存储区是否为空,若所述预设存储区不为空,则执行从预设存储区获取历史失焦行号的步骤;

所述从预设存储区获取历史失焦行号的步骤之后,所述方法还包括:

步骤B20,检测获取到的所述历史失焦行号是否与预设初始活动行号匹配;

步骤B20,若获取到的所述历史失焦行号与预设初始活动行号匹配失败,则执行检测所述第二行号与获取到的所述历史失焦行号是否一致的步骤。

需要说明地是,若预设存储区为空,也即未获取到历史失焦行号,或者获取到的历史失焦行号为预设初始活动行号,也即获取到的历史失焦行号与预设初始活动行号匹配成功,则可返回执行步骤S10。

聚焦的第二单元格的第二行号与历史失焦行号一致,则销毁历史失焦行号的行失焦事件,控制所述预设计时器停止计时,将预设计时器的累计计时时长重置为零。进一步可将预设存储区的历史失焦行号删除,或者可将历史失焦行号再次赋值为初始值。

聚焦的第二单元格的第二行号与历史失焦行号不一致,则确定虚拟表格触发行失焦,触发历史失焦行号的行失焦事件,对历史失焦行号对应行的整行数据进行数据保存或数据校验等后续数据处理业务操作。可选地,可确定历史行失焦行号对应的行失焦标识位,将此行失焦标识位设置为第一预设值,其中,第一预设值用户触发对应行的行失焦事件,第一预设值可由用户任意设置,如“TRUE”、“1”等。进一步地,可创建行失焦处理线程,行失焦处理线程用于处理虚拟表格中行的行失焦标识位为第一预设值的行失焦事件,如对整行数据进行数据保存或数据校验等处理,并在处理完成后,将行失焦标识赋值为第二预设值,其中,第二预设值用于标记行未触发行失焦,如“FALSE”、“0”等。

举例来说,假设上述历史失焦行号为1,聚焦的第二单元格的第二行号为2,则历史失焦行号与所述第二行号不一致,则触发虚拟表格的1行行失焦,可将虚拟表格1行对应的行失焦标识位设置为“TRUE”。

为了助于理解本申请的技术构思或技术原理,列举一具体实施例:

在本具体实施例中的表格行失焦监听流程为:

设置初始活动行号为-1,也即设置历史失焦行号的预设初始活动行号为-1,对表格内的所有单元格进行失焦与聚焦的监听,当触发单元格失焦时,会设置一个500毫秒的事件延迟触发器且赋值行号为当前触发单元格失焦的单元格行号;当触发单元格聚焦时,判断触发的单元格与上一个触发失焦的单元格是否为同一行,若是同一行则对事件延迟触发器进行销毁操作。下面从用户操作的场景对该方案进行阐述:

假设现有一个2行2列的虚拟表格:

1、连续行内单元格编辑操作,即1行1列单元格编辑完毕后立即对1行2列单元格进行编辑;在此过程中,会先触发1行1列单元格的单元格失焦事件,然后紧接着触发1行2列单元格的单元格聚焦事件,因为判断两个单元格处于同一行,所以事件销毁,不会触发行失焦。

2、连续不同行内单元格编辑操作,即1行1列单元格编辑完毕后立即对2行1列单元格进行编辑;在此过程中,会先触发1行1列单元格的单元格失焦事件,然后紧接着触发2行1列单元格的单元格聚焦事件,因为判断两个单元格不处于同一行,所以事件执行,会触发1行的行失焦。

3、不连续单元格编辑操作,即1行1列单元格编辑完毕后点击非可编辑单元格区域;在此过程中,会触发1行1列单元格的单元格失焦事件,等待500ms后,未监听到虚拟表格的聚集事件,则单元格失焦事件执行,会触发1行的行失焦。

本实施例中通过监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件;若监听到虚拟表格触发单元格失焦事件,确定触发单元格失焦事件的第一单元格的第一行号,将历史失焦行号设置为所述第一行号,将所述历史失焦行号存储至预设存储区;若监听到虚拟表格触发单元格聚焦事件,确定触发单元格聚焦事件的第二单元格的第二行号,从预设存储区获取历史失焦行号,检测所述第二行号与获取到的所述历史失焦行号是否一致,若所述第二行号与获取到的所述历史失焦行号不一致,则触发所述历史失焦行号的行失焦事件。如此,与现有技术中监听到虚拟表格的单元格失焦时,就认为虚拟表格监听到虚拟表格行失焦的监听方式相比,本申请实施例通过监听到虚拟表格聚焦时,比较聚焦的第二单元格对应的第二行号与历史失焦行号是否一致,聚焦的单元格行号与失焦单元格行号不一致时,才确定监听到虚拟表格的行失焦,触发行失焦事件,从而实现了对虚拟表格行失焦事件的有效监听。

进一步地,基于上述本申请的第一实施例,提出本申请表格行失焦监听方法的第二实施例,与上述第一实施例相同或相似的内容,可以参考上文介绍,后续不再赘述。在本实施例中,上述实施例步骤S30,若所述历史失焦行号与所述第二行号不一致,则触发所述历史失焦行号的行失焦事件的步骤之后,包括:

步骤C10,检测所述行失焦事件是否触发成功,若所述行失焦事件触发成功,并将所述历史失焦行号设置为预设初始活动行号或者,将所述预设存储区中的所述历史失焦行号删除。

监听到虚拟表格触发单元格聚焦事件后,控制预设计时器停止计时,并将预设计时器的累计计时时长重置为零,聚焦的第二单元格的第二行号与上一失焦的第一单元格的历史失焦行号一致,则销毁历史失焦行号的行失焦事件,并进一步可将预设存储区的历史失焦行号删除,或者可将历史失焦行号再次赋值为初始值。聚焦的第二单元格的第二行号与上一失焦的第一单元格的历史失焦行号不一致,则触发所述历史失焦行号的行失焦事件,进一步可执行步骤C10。需要说明地是,若预设计时器的累计计时时长大于预设延迟时长,也可触发历史失焦行号的行失焦事件,进一步可执行步骤C10。

可以预设行失焦事件的成功触发的触发条件,在一可行的实施例中,行失焦事件成功触发的触发条件可以为行失焦标识位成功设置为第一预设值,若虚拟表格的每一个对应设置有行失焦标识位,则历史失焦行号对应行的行失焦标识位设置为第一预设值后,可确定历史失焦行号的行失焦事件触发成功。在另一可行的实施例中,行失焦事件成功触发的触发条件可以为行失焦处理线程成功创建,行失焦处理线程创建成功后,可确定历史失焦行号的行失焦事件触发成功。在另一可行的实施例中,行失焦事件成功触发的触发条件可以为触发行失焦事件的行已完成整行数据保存或数据校验等后续数据处理业务操作。

由此,可检测到满足行失焦事件的预设成功触发条件后,可确定行失焦事件触发成功,此时可将预设存储区的历史失焦行号进行删除,或者也可将历史失焦行号赋值为预设初始活动行号。

在本实施例中,检测所述行失焦事件是否触发成功,若行失焦事件触发成功,将预设存储区中的历史失焦行号删除,可避免行失焦事件未成功触发,历史失焦行号从预设存储区被删除,导致虚拟表格未触发行失焦,进一步导致虚拟表格未及时保存数据或进行数据校验,造成数据遗失、数据未校验等现象发生,同时检测到行失焦事件成功触发后,将预设存储区中的历史失焦行号删除,可避免历史失焦行号重复触发行失焦事件,保证了虚拟表格的行失焦事件准确触发。

在一实施例中,参照图4,所述监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件的步骤,包括:

步骤D10,获取虚拟表格中当前处于编辑状态的第三单元格;

步骤D20,若在预设屏幕的当前显示区域内检测到点击事件,获取所述点击事件对应的点击位置;

该编辑状态为单元格处于用户可编辑的状态,虚拟表格中当前聚焦的单元格为当前处于编辑状态的第三单元格。

该预设屏幕可以为虚拟表格所在的显示屏幕,如手机显示屏、电脑显示屏、平板显示屏等。检测预设屏幕的当前显示区域内是否触发点击事件,若在预设屏幕的当前显示区域内检测到点击事件,确定点击事件对应的点击位置,可选地,可在当前显示区域内建议坐标系,则点击位置可以此坐标系中的坐标位置。

步骤D30,确定所述第三单元格对应的第三单元格区域,检测所述点击位置是否在所述第三单元格区域内;

第三单元格区域可为第三单元格在坐标系中所占位置的坐标范围。举例来说,假设第三单元格在坐标系中的坐标范围为横坐标为【5-10】,纵坐标为【12-15】,则第三单元格区域可为横坐标【5-10】与纵坐标【12-15】相交组成的聚成的矩形区域。检测点击位置是否在第三单元格区域内,若点击位置在第三单元格区域内,则确定用户点击的为当前处于编辑状态的第三单元格,不触发虚拟表格的单元格失焦事件与单元格聚焦事件。

步骤D40,若所述点击位置不在所述第三单元格区域内,则确定所述虚拟表格触发单元格失焦事件。

若所述点击位置不在第三单元格区域内,则所述虚拟表格触发单元格失焦事件,进一步,可确定为虚拟表格的第三单元格触发单元格失焦事件。

在本实施例中,获取虚拟表格中当前处于编辑状态的第三单元格,若在预设屏幕的当前显示区域内检测到点击事件,获取点击事件对应的点击位置,确定第三单元格对应的第三单元格区域,检测点击位置是否在第三单元格区域内,若点击位置不在第三单元格区域内,则确定虚拟表格触发单元格失焦事件,由此,可避免用户点击当前正在编辑的第三单元格,错误触发虚拟表格的单元格失焦事件的现象发生,提高虚拟表格单元格失焦事件的触发准确度。

在一实施例中,所述获取所述点击事件对应的点击位置的步骤之后,所述方法还包括:

步骤E10,确定所述虚拟表格中包括的每一单元格对应的单元格区域,依据各所述单元格区域确定所述点击位置所在的第四单元格区域;

步骤E20,确定所述第四单元格区域对应的第四单元格,将所述第四单元格的单元格状态设置为编辑状态,并在检测到所述第四单元格进入到编辑状态时,则确定所述虚拟表格触发单元格聚焦事件。

在本实施例中,确定虚拟表格中包括的每一单元格对应的单元格区域,并依据各单元格区域确定点击位置所在的第四单元格区域,确定第四单元格区域对应的第四单元格,确定用户此时预编辑第四单元格,则可将第四单元格的单元格状态设置为编辑状态。进一步地,可确定第四单元格是否为允许编辑的合法编辑单元格,若第四单元格为允许编辑的合法编辑单元格,则将第四单元格的单元格状态设置为编辑状态,若第四单元格不是允许编辑的合法编辑单元格,则可输出提示信息,提示用户第四单元格不允许编辑。并检测到第四单元格进入到编辑状态后,确定虚拟表格触发单元格聚焦事件,进一步地,可确定为虚拟表格的第四单元格触发单元格聚焦事件。

在一实施例中,所述确定所述虚拟表格中包括的每一单元格对应的单元格区域的步骤之后,所述方法还包括:

步骤F10,确定各所述单元格中在所述当前显示区域内的目标单元格;

步骤F20,确定目标单元格对应的目标单元格区域,确定所述点击位置是否在所述目标单元格区域内;

步骤F30,若所述点击位置在所述目标单元格区域内,则执行依据各所述单元格区域确定所述点击位置所在的第四单元格区域的步骤。

考虑到点击事件的点击位置可能在虚拟表格的非可编辑单元格区域、或者当前显示区域内虚拟表格之外的位置,如用户点击桌面、浏览器其他位置等。

本实施例中,确定虚拟表格包括的各单元格中在当前显示区域内的目标单元格,确定目标单元格对应的目标单元格区域,确定点击位置是否在目标单元格区域内,若点击位置在目标单元格区域内,则具体确定点击位置所在的第四单元格区域,若点击位置未在目标单元格区域内,则确定用户未点击虚拟表格的单元格区域,虚拟表格不触发单元格聚焦事件。

此外,参照图5,本申请还提供一种表格行失焦监听装置,所述表格行失焦监听装置,包括:

监听模块10,用户监听虚拟表格是否触发单元格聚焦事件或单元格失焦事件;

确定模块20,用于若监听到虚拟表格触发单元格失焦事件,确定触发单元格失焦事件的第一单元格的第一行号,将历史失焦行号设置为所述第一行号,将所述历史失焦行号存储至预设存储区;

触发模块30,用于若监听到虚拟表格触发单元格聚焦事件,确定触发单元格聚焦事件的第二单元格的第二行号,从预设存储区获取历史失焦行号,检测所述第二行号与获取到的所述历史失焦行号是否一致,若所述第二行号与获取到的所述历史失焦行号不一致,则触发所述历史失焦行号的行失焦事件。

此外,本申请实施例还提出一种表格行失焦监听设备,表格行失焦监听设备括存储器、处理器及存储在所述存储器上并可在所述处理器上执行的表格行失焦监听程序,所述表格行失焦监听程序被所述处理器执行时实现如上述的表格行失焦监听方法的步骤。

本申请表格行失焦监听设备具体实施方式与上述表格行失焦监听方法各实施例基本相同,在此不再赘述。

此外,为实现上述目的,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有表格行失焦监听程序,表格行失焦监听程序被处理器执行时实现如上述的表格行失焦监听方法的步骤。

本申请计算机可读存储介质具体实施方式与上述表格行失焦监听方法各实施例基本相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 表格数据处理方法、终端设备及计算机可读存储介质
  • 表格处理方法、装置、电子设备及可读存储介质
  • 一种表格自适应显示的方法、装置、设备及可读存储介质
  • 用于增强存储设备的服务质量的存储系统、方法和非暂态计算机可读介质
  • 一种存储管理方法、计算机可读存储介质及终端设备
  • 表格识别方法、装置、非易失性存储介质和计算机设备
  • 图像识别方法及装置、图像获取方法及设备、计算机设备及非易失性计算机可读存储介质
技术分类

06120116491572