在sap.ui.commons.Toolbar控件中取消激活键盘控件

时间:2014-09-26 11:07:08

标签: sapui5

有没有办法停用Toolbar control的键盘支持?

当我点击工具栏中的text field时,我希望arrow leftarrow right键可以将光标左右移动到文本字段中,而不是跳到下一个控件在工具栏中。

1 个答案:

答案 0 :(得分:1)

只需覆盖onsapnextonsapprevious即可阻止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;
&#13;
&#13;