Вопрос

Я использую jQuery inline Редактирование плагина Jeditire .К счастью, jeditire предоставляет возможности плагинов для продления из коробки встроеннойРедактирование его обеспечивает.

Я надеюсь не изобретать колесо - как таковой имеет a PageAwn плагин ужеСуществуют для дже гласности?Если кто-то делает мой Google-Fu, не включает никаких результатов.

Это было полезно?

Решение

Я никогда не нашел готов пойти в Jeditire Plugin PageWawn, поэтому я написал свой собственный. Приведенный ниже пример слишком специфичен для использования без модификации, но должен обеспечить достаточно приличный набросок для тех, кто пытается выполнить аналогичную задачу.

Код, чтобы добавить тип ввода «rackdown» в Jeditile:

var converter = Markdown.getSanitizingConverter();

$.editable.addInputType('markdown', {
    element: function(settings, original) {
        var editorId = original.id.substring(original.id.lastIndexOf("-"));
        var input = $('<textarea />');
        input.attr('id', 'wmd-input' + editorId);

        var panel = $('<div class="wmd-panel" />');
        panel.append('<div id="wmd-button-bar' + editorId + '" />');
        panel.append(input);
        panel.append('<div id="wmd-preview' + editorId + '" />');

        $(this).append(panel);
        return (input);
    },
    plugin: function(settings, original) {
        var editorId = original.id.substring(original.id.lastIndexOf("-"));
        var editor = new Markdown.Editor(converter, editorId);
        editor.run();
    }
});
.

Приведенный выше код проходит через кучу дак, касающихся идентификатора элементов, поскольку в моем случае у меня может быть несколько редакторов на одной странице. Смотрите Документация PageSawn о markdown.editor для более подробной информации.

После того, как я добавил тип ввода «rackdown» для Jeditable, это просто вопрос, используя его с этим кодом:

$('.editable-element-area').editable('http://jsfiddle.net/echo/jsonp/', {
    onblur: 'submit',
    type: 'markdown',
    indicator: 'Saving...',
    loadurl: 'http://jsfiddle.net/echo/jsonp/', // retrieve existing markdown
    callback: function(value, settings) {
        $(this).html(converter.makeHtml(value)); // render updated markdown
    }
});​
.

Я хочу, чтобы мои пользователи могли видеть отметку как HTML, когда они не редактируют его, поэтому я должен использовать обратный вызов и LoadURL Джедиитрые параметры . URL-адрес нагрузки извлекает текст для редактирования в формате Markdown, а обратный вызов преобразует новый текст обратно в HTML.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top