焦点上的CKEditor删除默认值

时间:2011-08-21 11:23:25

标签: javascript ckeditor

对于正常的输入字段,我可以编写类似下面的代码,当我点击时将删除输入字段的默认值,如果我在输入字段中没有写任何内容,则默认值将返回当我离开输入栏。

jQuery('input[type="text"]').focus(function()
    {
        if (this.value == this.defaultValue)
        {
            this.value = '';
        }
        if(this.value != this.defaultValue)
        {
            this.select();
        }
    });

    jQuery('input[type="text"]').blur(function()
    {
        if (this.value == '')
        {
            this.value = this.defaultValue;
        }
    });

但我不知道怎么用CKEditor做这件事..我可以得到一些帮助。

我发现这个代码会在我点击CKEditor时发出警报。但我不知道如何修改它以我需要的方式工作。

CKEDITOR.instances['post_content'].on('focus', function()
{
    alert(1);
});

2 个答案:

答案 0 :(得分:2)

你试过这个吗?

CKEDITOR.instances['post_content'].on('focus', function()
{
    if (this.value == defaultValue)
    {
        this.value = '';
    }
});

答案 1 :(得分:0)

将上述想法与[其他SO文章] [1]结合起来:

// delete default text on focus
CKEDITOR.instances['editor1'].on('focus', function () {

    var defaultText = '<p class=\"ckNormal\">Type your comment here</p>';
    var currentText = CKEDITOR.instances.editor1.getData();

    // debug - removed
    // alert(defaultText + '\n' + currentText);

    if (defaultText.trim()==currentText.trim()) {
        CKEDITOR.instances.editor1.setData('');
    }
});

在测试之前,您可能不需要修剪文本。这使用getData查找文本内容,使用setData更改文本。