2014-09-12 3 views
3

Я использую NicEdit Inline WYSIWYG и пытаюсь понять, как с ним работать.Заполнитель не работает в NicEdit

Я создал div с атрибутом placeholder, но когда NicEdit активирует его, покажите пустое текстовое поле без заполнителя.

Возможно, есть какой-то способ заставить его работать. Как я понял, он пишет текст непосредственно в div.

В коде это выглядит. (Я оставляю комментарии не для textarea) http://i.imgur.com/D384B5C.png

ответ

0

Вы можете вручную добавить/удалить заполнитель, используя события nicEditor.
focus Отправить, когда редактор получает фокус (IE кто-то нажимает на него).
blur Отправлено, когда экземпляр редактора теряет фокус.

var editor = new nicEditor(); 
var $placeholder = '<p>Click here to add content...</p>'; 

$('[id^="textArea"]').each(function() { 
    var textAreaId = $(this).attr("id"); 

    editor.addInstance(textAreaId); 
    var editorInstance = editor.instanceById(textAreaId) 

    // Add the initial Placeholder 
    var content = editorInstance.getContent(); 
    if(content == "" || content == "<br>"){ 
     editor.instanceById(textAreaId).setContent($placeholder); 
    } 

    // onFocus - Remove the placeholder 
    editor.addEvent('focus', function() 
    { 
     if (editorInstance.getContent() == $placeholder){ 
      editor.instanceById(textAreaId).setContent("<br>"); 
     } 
    }); 

    // onBlur - Re-add the placeholder 
    editor.addEvent('blur', function() 
    { 
     var newText = editorInstance.getContent(); 
     if(newText == "" || newText == "<br>") { 
      editor.instanceById(textAreaId).setContent($placeholder); 
     } 
    }); 
}); 

Сначала проверьте, чтобы увидеть, если нет контента, или если есть один <br> (это заполнитель nicEditor в). Если это так, замените местозаполнитель.
Затем на проверку фокуса на местозаполнитель и изменение содержимого обратно на "<br>".
Затем при размытии проверьте, не осталось ли содержимое и замените его на заполнитель снова

Смежные вопросы