上下文操作菜单无法隐藏在离子(Android)中

时间:2016-12-21 12:58:25

标签: android angularjs ionic-framework

在长按手势上,上下文操作菜单沿选定文本显示。 但除非我从菜单中选择一个选项,否则不要隐藏。

首先启用上下文操作菜单,我使用了这个:

overflow-scroll = "true" in the ion-content.

在CSS课程中,我写道:

-webkit-user-select: auto;

但现在我无法隐藏它。它被锁定在我的视线上。即使在我的网页视图中的任何地方触摸后,它仍然启用。要隐藏上下文菜单,我使用了这个:

-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
 user-select: none;
-webkit-touch-callout:none;

但仍未取得成功。这个特殊问题仅限于android。对于iOS,它工作正常。任何帮助将不胜感激。

离子版 - 2.1.0

更新

最后我找到了答案。

我使用了以下两种方法。第一种在长按时选择文本的方法和第二种删除选择的方法。

           /*----------- To get selection--------*/

           $scope.getSelectionText = function() {
           var text = "";
           if (window.getSelection) {
              text = window.getSelection().toString();
              $scope.selectMode = true;
           } else if (document.selection && document.selection.type != "Control") {
              text = document.selection.createRange().text;
              $scope.selectMode = true;
           }

            return text;
        };

        /*---------------To remove selection----------*/

           $scope.remove = function(){
           if (window.getSelection) {
               if (window.getSelection().empty) {  // Chrome
                  window.getSelection().empty();
               } else if (window.getSelection().removeAllRanges) {  // Firefox
                 window.getSelection().removeAllRanges();
               }
           } else if (document.selection) {  // IE?
                 document.selection.empty();
           }
          };

并添加ng-click到您的div

         <div class="selectable" ng-click="remove()">
               <ng-include src="activeTab.url"></ng-include>
         </div>

1 个答案:

答案 0 :(得分:0)

最后我找到了答案。

我使用了以下两种方法。第一种在长按时选择文本的方法和第二种删除选择的方法。

               /*----------- To get selection--------*/

               $scope.getSelectionText = function() {
               var text = "";
               if (window.getSelection) {
                  text = window.getSelection().toString();
                  $scope.selectMode = true;
               } else if (document.selection && document.selection.type != "Control") {
                  text = document.selection.createRange().text;
                  $scope.selectMode = true;
               }

                return text;
            };

            /*---------------To remove selection----------*/

               $scope.remove = function(){
               if (window.getSelection) {
                   if (window.getSelection().empty) {  // Chrome
                      window.getSelection().empty();
                   } else if (window.getSelection().removeAllRanges) {  // Firefox
                     window.getSelection().removeAllRanges();
                   }
               } else if (document.selection) {  // IE?
                     document.selection.empty();
               }
              };

并添加ng-click到您的div

             <div class="selectable" ng-click="remove()">
                   <ng-include src="activeTab.url"></ng-include>
             </div>