rangy下划线,粗体或意大利镀铬松散选择

时间:2017-04-19 10:03:49

标签: javascript jquery google-chrome rangy

在可编辑的内容上,我在顶部放置了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工作正常。

1 个答案:

答案 0 :(得分:0)

使用mousedown而不是click作为事件,以防止粗体按钮获得焦点,这会失去焦点。您可能需要从侦听功能中获取事件,以便防止违规行为。