0

ユーザーがテキストを削除すると、それを選択して css を追加して非表示または「ストライク」することで、テキストを取り消したいと思います。次のようなコードがあります。

$(this).keypress(function (e) 
{
  var key = e.charCode || e.keyCode;
  if(key == 8)//backspace
  {         
     e.preventDefault();

     //this selects the previous character -- not the CKEDITOR way so prob not x-platform        
     window.getSelection().modify('extend','backward','character');

     var trackstyle = new CKEDITOR.style( { element : 'del', attributes : { 'class': 'del-'+randnumber + ' del' , 'data-datetime' : trackmysqldatetime, 'id': 'id-'+randnumber } } );

    if(window.getSelection())
    {                   
       trackstyle.apply( editor[c].document ));//editor[c] is the current editor                
    }
} });

これは機能します。バックスペースは前の文字を選択し、STYLE に取り消し線を適用します。しかし、その後、選択が消えたように見え、それを回復する方法がわかりません。DELETED 要素の先頭の外にカーソルを置き、もう一度選択して削除する必要があると思います。(スタイルが適用されたテキストは非表示になっているので、そのテキストを選択したくないと思いますか?)もう一度バックスペースを押すと、次の前の文字が選択されます...

4

1 に答える 1