防止ngb-accordion拖动,但仍允许文本突出显示

时间:2018-06-11 07:13:41

标签: javascript angular angular-ui-bootstrap

阻止手风琴拖动,但仍允许文字突出显示

我在ngb-accordion中有一些数据,点击它会展开并显示数据。在手风琴标题的旁边,我们有输入框,当尝试使用鼠标按下来复制输入框内容时,它会自动将浏览器URL添加到输入框。由于输入框是在手风琴标题内添加的,内部手风琴标题是使用链接,HTML中的默认行为是拖动链接...但我想在某些链接上禁用它。

TL; DR :我希望能够突出显示手风琴标题内的输入文字而不是拖动它。

以下是示例图片:当尝试选择输入框内容时,它会将浏览器URL复制到输入框值。 enter image description here

这是我的角度HTML代码:

<ngb-accordion #acc="ngbAccordion" activeIds="ngb-panel-0">
  <ngb-panel>
    <ng-template ngbPanelTitle>
      <input class="no-drag" type="text" placeholder="sample" (click)="onclick($event);">
      Expand
    </ng-template>
    <ng-template ngbPanelContent>
      Panel 1
    </ng-template>
  </ngb-panel>
  <ngb-panel>
    <ng-template ngbPanelTitle>
      <span>&#9733; <b>Fancy</b> title &#9733;</span>
    </ng-template>
    <ng-template ngbPanelContent>
      Panel 2
    </ng-template>
  </ngb-panel>
</ngb-accordion>

示例代码可在此处获得: https://stackblitz.com/edit/angular-kakf4g

  1. 我们应该可以使用鼠标
  2. 在输入字段中选择文本
  3. 不应将浏览器网址复制到输入框。
  4. 它适用于所有主流浏览器,如Chorme,Edge和Firefox。
  5. 要解决问题,

    我尝试禁用链接拖动,因此问题1&amp; 2用以下css固定。它仅解决了Chrome浏览器的问题,但并未解决其他浏览器的问题。

    :host /deep/ a {
        -webkit-user-drag: none !important;
    }
    

    注意:我在输入框中添加了draggable ='false',但它不起作用。而角度将我的输入框放在标签中,所以我的输入框自动获得链接性质。 任何帮助将不胜感激。

0 个答案:

没有答案