2012-03-13 36 views

回答

5

我從來沒有找到一個準備去Jeditable PageDown插件,所以我寫我自己的。下面的例子太具體,不能沒有修改就使用,但應該爲任何努力完成類似任務的人提供足夠體面的輪廓。

代碼爲「降價」輸入類型添加到Jeditable:

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(); 
    } 
}); 

上面的代碼經過了一堆有關的元素ID,因爲在我的情況,我可以有一個單頁上幾個編輯迴旋的。有關更多詳細信息,請參閱有關Markdown.Editor的PageDown documentation

一旦我添加了「降價」輸入類型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 Jeditable parameters。加載url以標記格式檢索要編輯的文本,而回調將新文本轉換爲html。

+0

它可以讓你創建一個小提琴,蹣跚或什麼來證明這一點嗎? – HPWD 2012-11-28 14:22:34