【问题标题】:rangy underline, bold or italy on chrome loose selection铬松散选择上的粗下划线、粗体或意大利
【发布时间】:2017-09-15 11:49:48
【问题描述】:

在可编辑的内容上,我在顶部放置了 3 个按钮:B、I、U

在 Firefox 上它可以正常工作,但在 Chrome 上,在我到达事件的功能之前,似乎点击时选择丢失了。

<i class="fa-bold">B</i>
<div contenteditable="true" id="theelement"></div>
<script>
$('.fa-bold').click(function (){
  var s = rangy.getSelection( document.getElementById('theelement') );
  var r = s.getRangeAt(0);

  rangy.createClassApplier('bold').toggleRange(r);
});
</script>

如果你从控制台运行它,它可以工作,如果你点击它没有的按钮,这只发生在 Chrome 上,在按钮上的 FF 上工作正常。

【问题讨论】:

    标签: javascript jquery google-chrome rangy


    【解决方案1】:

    使用 mousedown 而不是 click 作为事件来防止粗体按钮获得焦点并失去焦点。您可能需要从侦听函数中获取事件,以便防止默认行为。

    【讨论】:

      猜你喜欢
      • 2011-05-18
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多