CKEditor в фокусе удалить значение по умолчанию - PullRequest
2 голосов
/ 21 августа 2011

Для обычного поля ввода я могу написать что-то вроде приведенного ниже кода, который удалит значение по умолчанию для поля ввода, когда я щелкаю, и если я ничего не пишу в поле ввода, то значение по умолчанию вернется, когда я оставьте поле ввода.

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 ]

2 голосов
/ 21 августа 2011

Вы пробовали это?

CKEDITOR.instances['post_content'].on('focus', function()
{
    if (this.value == defaultValue)
    {
        this.value = '';
    }
});
0 голосов
/ 14 марта 2016

Объединение идеи выше с [этой другой статьей 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 для его изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...