2011-11-14 8 views
0

フォーマット済みのテキストを表示するためにckeditorを使用しています。上記の目的で、Asp.net mvc 3カミソリヘルパーメソッドHtml.CKEditorFor(x => x.Description)を使用しています。このckeditor.Iで 透かし機能を実装する必要があり、目的のために以下のコードを使用してCKEditorを使用してテキストボックスからフォーカスイベントが発生しない

$("#Description").focus(function() { 

    $(this).filter(function() { 

     // We only want this to apply if there's not 
     // something actually entered 
     return $(this).val() == "" || $(this).val() == "Type here" 

    }).removeClass("watermarkOn").val(""); 

});  

しかし、私は放火犯を使用してドキュメントを検査textbox.So CKEditorバージョンを集中するとき、フォーカスイベントが発生しませんでした午前デフォルトのテキストがmvc ckeditorヘルパーによって生成された次のクラス( 'cke_show_borders')内でレンダリングされていることがわかりました。上記のコードを

に変更しました
$(".cke_show_borders").focus(function() { 
    $(this).filter(function() { 

     // We only want this to apply if there's not 
     // something actually entered 
     return $(this).val() == "" || $(this).val() == "Type here" 

    }).removeClass("watermarkOn").val(""); 

}); 

しかし、まだフォーカスイベントは発生していません。 私は間違っているplsはその緊急を助ける。おかげさまで

答えて

0

あなたはDOMが完全に任意のイベントをサブスクライブしようとする前にロードされていることを確実にするために$(document).readyハンドラにこのコードを配置していることを確認してください:

$(function() { 
    $('.cke_show_borders').focus(function() { 
     $(this).filter(function() { 
      // We only want this to apply if there's not 
      // something actually entered 
      return $(this).val() == '' || $(this).val() == 'Type here'; 
     }).removeClass('watermarkOn').val(''); 
    }); 
}); 
+0

こんにちはすべて薄くなりが保存されてい

ちなみに、私が見てきた人のようなものを使用してCKEditorバージョンのデフォルトの動作を変更します文書準備機能で使用します。 – user1045002

2

私の最高の推測では、あなたがこれをやろうということですjQueryの代わりに APIを使用します。あなたはdeveloper featuresをチェックアウトしましたか?あなたはそのような彼らのONFOCUSイベントを変更することができ、同様に

var editor = CKEDITOR.replace('ckeditor'); 
editor.on('instanceReady', function(e) { 
    // customize stuff here 
    // this.document.$.childNodes[1].childNodes[1].style.styleName = 'value'; 
    editor.focus(); 
}); 

editor.on('focus', function(e) { 
    // code here 
}); 
+0

私は上記のコードを実装しましたが、mozilla firefox console.Error:uncaught exception:[CKEDITOR.editor.replace]に次のエラーが表示されました。idまたは "ckeditor"という名前の要素が見つかりませんでした。 – user1045002

+0

ああ、あなたはあなたが 'textarea'タグに与えたどんな' id 'にでも' ckeditor 'を変更しなければなりません。 –

+0

こんにちはすべてのものは、ドキュメント準備関数に保持され、上記の方法に従ったときにフォーカスイベントが発生しますが、問題は私が戻って文がtrueを返すときにckeditorに適用されたクラス(ウォーターマークオン)を削除することはできません。 – user1045002

関連する問題