如何防止在单击输入字段时默认取消选择突出显示的文本

How can I prevent default deselection of an highlighted text on click of an input field

提问人:RoyalManuel 提问时间:7/30/2023 最后编辑:Mark ClarkRoyalManuel 更新时间:8/2/2023 访问量:21

问:

在我的 AngularJS Web 应用程序中,用户可以选择并突出显示文本。但是,当他们单击输入框添加标签时,突出显示的文本将被取消选择。我尝试使用 event.preventDefault() 和 event.stopPropagation(),但它没有用。如何防止在单击输入框时取消选择突出显示的文本?代码如下:

<!-- Text element -->
<p class="highlighted-text" ng-class="{'highlighted': isHighlighted}" ng-mouseup="toggleHighlight()">{{transcription}}</p>

<!-- Input box -->
<input type="text" ng-model="newLabel" ng-focus="preventDeselect(true)" ng-blur="preventDeselect(false)">

<!-- controller -->
$scope.isHighlighted = false;

$scope.toggleHighlight = function() {
  $scope.isHighlighted = !$scope.isHighlighted;
};

$scope.preventDeselect = function(selected) {
  if (selected) {
    event.preventDefault();
    event.stopPropagation();
  }
};

javascript html 、css、 angularjs

评论


答: 暂无答案