点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我正在尝试通过关注博客在ui5应用程序上实现热键(f1,f2等)
https://blogs.sap.com/2018/03/20/sapui5-enable-keyboard-shortcuts/
我的问题是"我如何使它在视图级别上工作"我能够在文档上进行操作,但是后来我无法执行" this.byId(" someid")",因为" this"是此处的文档 这是我的代码:
setKeyboardShortcuts:function(){ $(document).keydown(function(evt){ 开关(evt.keyCode){ 案例118://F7键 var control = this.byId(" addbtn"); //或sap.ui.getCore()。byId(" idPrevPageButton") 如果(control && control.getEnabled()&& control.getEnabled()){ control.firePress(); //按钮PRESS事件 } 打破; //其他SHORTCUT案例:请参考link1-https://css-tricks.com/snippets/javascript/javascript-keycodes/ 默认: 打破; } }); },
我在" onafterrendering"中调用此方法
我尝试将" this"," this.getView"替换为文档,但无济于事。
任何见识都会有所帮助。
致谢
Rakesh
您好 Rakesh Singh ,
为此特定的场景,我为此创建了一个api。它只是热键api的接口,具有很多不错的功能。
https://blogs.sap.com/2017/06/14/hotkeys-keyboard-shortcuts-in-sap-ui5-using-open-source-plugin /
在所有routematchhandler中调用以下方法,因为每当您绑定新的键时,所有olf绑定的键都会被删除
BR,
Mahesh
您好 Rakesh Singh ,
谢谢:)听说它有效!
BR,
马西什
HI
这是我们拥有的视图和控制器。 https://jsbin.com/jutowiy/edit?js,output
将鼠标光标放在输入框(在视图中)上,然后按F7键,您将获得一条消息吐司。
将鼠标光标放在输入框之外,按F7时不会收到消息吐司。
希望这会有所帮助。
谢谢
丹尼斯
你好丹尼斯,
感谢您的回复。 我的要求有点不同:无论用户在何处单击热键都应执行,这意味着如果加载了屏幕并且用户按f7键,则应执行特定功能,如果他按f6键,则应执行其他功能,依此类推。 无论鼠标或光标位于何处,我都希望将其附加到热键上。
我认为将整个视图绑定到keydown事件会有所帮助,但是我不确定该怎么做。 请提供您的输入。
致谢
Rakesh
嗨Rakesh
我们有两个视图,F7响应一个视图,F6响应另一个视图
https://jsbin.com/piraqok/edit?output
希望这个希望。
谢谢
丹尼斯
嗨,丹尼斯,
很好的例子,但是我不能像下面的代码那样在视图中调用屏幕元素:
您正在使用应用程序和页面,我正在使用view和page。 任何想法,在将keydown绑定到文档后如何调用view元素。
致谢
Rakesh
一周热门 更多>