1

通常、TinyMCE (またはその他のエディター) 内のテキストをクリックすると、そこにキャレットが配置され、テキストの選択が開始されます。

私はそのようなことは起こらないでください。編集可能なテキストエリアをクリックしても何も起こらないようにしたい。これどうやってするの?

私のセットアップ関数には、前の質問からのフォローアップとして、次のコードがあります。これにより、TinyMCE がオンになるとすぐにインスタンス内のすべてのテキストが選択されるようになります。

    ed.onInit.add(function(ed, evt) {
      var range = ed.selection.dom.createRng();
      range.setStartBefore(ed.getBody().firstChild);
      range.setEndAfter(ed.getBody().lastChild);
      ed.selection.setRng(range);
            });

すべてのテキストが選択されたので、ユーザーが選択を解除したり、テキスト内の他の範囲を選択したりできないようにします。だから私はユーザーのクリックが何もしないようにしたい. これを同じセットアップ機能に追加しようとしました:

ed.onClick.add(function(ed, evt) {
  console.debug('Editor was clicked: ' + evt.target.nodeName);
  evt.preventDefault();
  evt.stopPropagation();            
        }); 

ただし、コンソール メッセージが表示されている間、クリックすると、既に選択されているテキストの範囲が選択解除されます。クリックしても何も起こらないようにするにはどうすればよいですか? または、少なくとも、既に選択されているテキストの範囲には影響しませんか?

4

1 に答える 1

3

後でトリガーされるイベントではmousedownなく、イベントを無効にしてみてください。click

于 2013-01-27T14:48:03.727 に答える