更改事件阻止其他事件触发

2020-09-04 08:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嘿。 我发现了一个有趣的案例。 ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嘿。 我发现了一个有趣的案例。 或者这可能只是我在开发添加项时犯的错误。 也许你们中的一些人会帮助我解密正确的编码方式。

假设我们有具有简单表单的Fiori应用程序。

输入值更改触发事件(从sap.m.InputBase借用的更改,因此在焦点更改或通过按Enter键触发事件)。 事件为用户提供了一些信息。 还有一个按钮可以将数据发送到后端。 但是在某些情况下,用户更改输入值并单击"发送"按钮,而不先按Enter也不更改操作前的焦点。 发生的情况是触发了更改事件,但阻止了发送事件,并且根本没有触发该事件。 用户再次单击"保存",现在将触发两次发送事件(重复)。

这是我面临的问题的演示: https://jsfiddle.net/o2zLa534/1/

我希望输入更改事件将被触发,并且:

1)什么也不会发生,并且在单击"发送"后,只会触发一个发送事件,或者

2)发送事件将在更改事件完成后立即触发

有什么想法吗?

1条回答
微wx笑
2020-09-04 08:51

嗨,戴维德,

测试用例中的问题仅是由于您使用alert()引起的。
警报接管了主窗口的焦点并阻止了其进一步处理,因此未处理Submit事件。

尝试使用console.log替换onInputChange处理程序中的Alert,如下所示: https://jsfiddle.net/ gmascL9y/

按预期工作。

一周热门 更多>