tinymce onkeyup 调用 jquery 函数

tinymce onkeyup call jquery function

我的 tinymce 集成有问题。 这是我的代码和我不工作的解决方案:

<div class="mcebox">
    <label>Text </label>
    <textarea name="text" class="ta_cprofi mceEditorblick" id="textcontent"></textarea>
    <div id="preview"></div>
</div>

<script language="javascript" type="text/javascript">
    tinyMCE.init({
        mode: "specific_textareas",
        editor_selector: "mceEditorblick",
        theme: "advanced",

        paste_auto_cleanup_on_paste: true,
        theme_advanced_buttons1: "bold",
        theme_advanced_buttons2: "", 
        theme_advanced_buttons3: "",

        setup: function(ed) {
            ed.onKeyUp.add(function() {
                alert("Hello");
            });
        },
    });

    function blumieka() {
        $.ajax({
            type: "POST",
            url: "inc/admin/blumieka/ajax_modules/ajax_ads.php",
            data: "load=blumieka&text=" + document.getElementById("textcontent").value,

            success: function(html) {
                $("#preview").html(html)
            }
        });
    }
</script> 

警报消息完美运行。 现在我想用 jquery 函数 "blumieka" 替换警报。 我试过这个:

setup: function(ed) {
    ed.onKeyUp.add(function() {
        blumieka();
    });
},

但这行不通... 我的错误是什么?

我使用 tinymce 版本 3。 我只需要 tinymce 只是因为我必须将文本区域中的一些文本设置为粗体。

谢谢你帮助我。我很绝望。

我怀疑您遇到的问题是 document.getElementById("textcontent").value。这没有得到编辑器的值。它只是空白文本。要从编辑器中获取实际的 HTML 内容,您需要使用 tinyMCE.activeEditor.getContent().

tinyMCE.init({
    mode: "specific_textareas",
    editor_selector: "mceEditorblick",
    theme: "advanced",

    paste_auto_cleanup_on_paste: true,
    theme_advanced_buttons1: "bold",
    theme_advanced_buttons2: "", 
    theme_advanced_buttons3: "",

    setup: function(ed) {
        ed.onKeyUp.add(function() {
            blumieka();
        });
    },
});

function blumieka() {
    //get the actual content from editor
    var content = tinyMCE.activeEditor.getContent();
    $.ajax({
        type: "POST",
        url: "inc/admin/blumieka/ajax_modules/ajax_ads.php",
        data: "load=blumieka&text=" + content,

        success: function(html) {
            $("#preview").html(html)
        }
    });
}

这是一个有效的 DEMO