有没有办法停用Toolbar control的键盘支持?
当我点击工具栏中的text field时,我希望arrow left
和arrow right
键可以将光标左右移动到文本字段中,而不是跳到下一个控件在工具栏中。
答案 0 :(得分:1)
只需覆盖onsapnext
和onsapprevious
即可阻止TextField的父级处理工具栏导航项中的箭头事件。请检查并运行代码段。
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-theme="sap_bluecrystal" data-sap-ui-libs="sap.m"></script>
<script id="view1" type="sapui5/xmlview">
<mvc:View xmlns:core="sap.ui.core" xmlns:layout="sap.ui.commons.layout" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.ui.commons" controllerName="test.controller" xmlns:html="http://www.w3.org/1999/xhtml">
<Toolbar id="tb">
<Button text="Button1"/>
<TextField id="tf1" value="Toolbar Arrow Deactivated "/>
<TextField id="tf2" value="Toolbar Arrow Activated "/>
<Button text="Button2"/>
</Toolbar>
</mvc:View>
</script>
<script>
sap.ui.controller("test.controller", {
onInit: function() {
var tf1 = this.getView().byId("tf1");
tf1.onsapnext = function(oEvent) {
this._checkCursorPosForNav(oEvent, true);
};
tf1.onsapprevious = function(oEvent) {
this._checkCursorPosForNav(oEvent, false);
}
},
});
var myView = sap.ui.xmlview("myView", {
viewContent: jQuery('#view1').html()
}); //
myView.placeAt('content');
</script>
<body class='sapUiBody'>
<div id='content'></div>
</body>
&#13;