jquery 从文本区域更新最后一个目标contenteditable的html

mum43rcc  于 2022-12-18  发布在  jQuery
关注(0)|答案(1)|浏览(140)

http://liveweave.com/1iWx1x
问题很简单选择/聚焦在一些contenteditable元素上。然后选择文本区域并从文本区域更改最后一个聚焦元素的HTML。问题是我的文本区域想要更新所有之前聚焦的元素而不是最后一个。

$(document).ready(function() {
  // Grab selected element's html
  $("div").on('focus', function() {
    $("#show-selected-elms-code").val($(this).html());
    $("body").find("div").on('focus', function(e) {
      $("#show-selected-elms-code").val($(e.target).last().html());
      $(this).on('keyup change', function() {
        $("#show-selected-elms-code").val($(this).html());
      });
      $("#show-selected-elms-code").on('keyup change', function() {
        $(e.target).last().html($("#show-selected-elms-code").val());
      });
    });
  });
  
  $('#elm-font-family').on('click change', function() {
    document.execCommand('FontName',false,$(this).val());
  });
});
dbf7pr2w

dbf7pr2w1#

你可以试试这个:

$(document).ready(function() {
  var selectedDiv;

  $('[contenteditable]').on('click',function(){
      selectedDiv=this;
  });

  $("div").on('focus keyup change', function() {
    $("#show-selected-elms-code").val($(this).html());
  });

  $("#show-selected-elms-code").on('keyup change', function() {
    $(selectedDiv).html($("#show-selected-elms-code").val());
  });

  $('#elm-font-family').on('click change', function(e) {
    document.execCommand('FontName',false,$(this).val());
  });
});

演示:http://liveweave.com/BfGir8

相关问题