4

ここで答えを参照してください: 実際にそのテキストを選択せず​​にテキストでTinyMCE関数を使用する方法は?

私はそれを実現しました

$('#TAID_ifr').contents().find('html').bind('keypress', function(e){return false;});

エンターキーでは機能しません。ユーザーが「Enter」を押すと、改行が形成されます。しかし、他のすべてのキーについては、コードは期待どおりに機能します。つまり、何も起こりません。入力には特別な処理が必要ですか? 以下のコードを追加しましたが、違いはありませんでした。

            var code = e.keyCode || e.which;
                if (code == 13) e.preventDefault();

どうしたの?ユーザーが「Enter」を押したときに新しい行が挿入されないようにします。何も起こらないようにしたいです。

編集

enterキーがiframe内で押されているため、これは機能しませんか?

4

3 に答える 3

4

はい、可能です。Tinymce は独自のイベント管理を使用します。と呼ばれるtinymceイベントがありonKeyDownます。setup 構成パラメーターを使用すると、このイベントを使用できます。

// Adds an observer to the onKeyDown event using tinyMCE.init
tinyMCE.init({
   ...
   setup : function(ed) {
      ed.onKeyDown.add(function(ed, event) {

          if (event.keyCode == 13)  {
              event.preventDefault();
              event.stopPropagation();
              return false;
          }
      });
   }
});

ブラウザによって実装が異なるため、ここではコードの伝播を停止するためにいくつかのステートメントが使用されていることに注意してください。

于 2013-01-21T12:06:32.477 に答える
0

このコードを試してください:

$('#TAID_ifr').keypress(function(event){

    if (event.keyCode == 10 || event.keyCode == 13)  {
        event.preventDefault();
    }
});
于 2013-01-20T11:20:43.873 に答える