大规模杀伤性武器的编辑器(jQuery的版本),阿贾克斯形式
-
20-09-2019 - |
题
我试图阿贾克斯大规模杀伤性武器的编辑器。 这里存在窃听代码
WDM代码是基于openlibrary叉在github
它的工作非常好没有Ajax。
,但是当我尝试显示在AJAX形式编辑它不会加载。
非AJAX版本生产这种HTML:
<div id="wmd-container">
<div id="wmd-button-bar"></div>
<div id="wmd-button-bar-0" class="wmd-button-bar"><ul class="wmd-button-row"><li style="background-position: 0px 0px;" title="Strong <strong> Ctrl+B" class="wmd-button wmd-bold-button"></li><li style="background-position: -20px 0px;" title="Emphasis <em> Ctrl+I" class="wmd-button wmd-italic-button"></li><li class="wmd-spacer"></li><li style="background-position: -40px 0px;" title="Hyperlink <a> Ctrl+L" class="wmd-button wmd-link-button"></li><li style="background-position: -60px 0px;" title="Blockquote <blockquote> Ctrl+Q" class="wmd-button wmd-quote-button"></li><li style="background-position: -80px 0px;" title="Code Sample <pre><code> Ctrl+K" class="wmd-button wmd-code-button"></li><li style="background-position: -100px 0px;" title="Image <img> Ctrl+G" class="wmd-button wmd-image-button"></li><li class="wmd-spacer"></li><li style="background-position: -120px 0px;" title="Numbered List <ol> Ctrl+O" class="wmd-button wmd-olist-button"></li><li style="background-position: -140px 0px;" title="Bulleted List <ul> Ctrl+U" class="wmd-button wmd-ulist-button"></li><li style="background-position: -160px 0px;" title="Heading <h1>/<h2> Ctrl+H" class="wmd-button wmd-heading-button"></li><li style="background-position: -180px 0px;" title="Horizontal Rule <hr> Ctrl+R" class="wmd-button wmd-hr-button"></li><li class="wmd-spacer"></li><li style="background-position: -200px -20px;" title="Undo - Ctrl+Z" class="wmd-button wmd-undo-button"></li><li style="background-position: -220px -20px;" title="Redo - Ctrl+Shift+Z" class="wmd-button wmd-redo-button"></li><li style="background-position: -240px 0px;" class="wmd-button wmd-help-button"><a title="WMD website" target="_blank" href="http://wmd-editor.com/"></a></li></ul></div><div id="wmd-button-bar-2" class="wmd-button-bar"></div><div id="wmd-button-bar-4" class="wmd-button-bar"></div><textarea id="wmd-input" class="resizable" name="post-text" cols="92" rows="15" tabindex="101"></textarea><div id="wmd-preview-4" class="wmd-preview"></div><div id="wmd-preview-2" class="wmd-preview"></div><div id="wmd-preview-0" class="wmd-preview"></div>
</div>
使用Ajax形式:
<div id="wmd-container">
<div id="wmd-button-bar"></div>
<div id="wmd-button-bar-1" class="wmd-button-bar"></div><div id="wmd-button-bar-3" class="wmd-button-bar"></div><textarea id="wmd-input" class="resizable" name="post-text" cols="92" rows="15" tabindex="101"></textarea><div id="wmd-preview-3" class="wmd-preview"></div><div id="wmd-preview-1" class="wmd-preview"></div>
</div>
任何帮助?
解决方案
我使用其中能够用于多个文本域的版本。该控制是通过调用以下启动:
setup_wmd({
"input": "user_about",
"button_bar": "user_about-button-bar",
"preview": "user_about-preview"
});
这在编辑器使用的“负载”的事件监听器加载的问题ID,因此其当页面完全加载只加载。当AJAX形式加载,此事件不火的页面已加载“。
<强>解决方案强>
在该方法util.startEditor替换行:
util.addEvent(top, "load", loadListener);
使用是这样的:
if (ajaxForm) {
loadListener(); //this loads the editor immediately
} else {
util.addEvent(top, "load", loadListener);
}
可以在变化部分顶部添加这一行
var ajaxForm = wmd_options.ajaxForm || false
所以,你可以调用此方法来立即加载编辑:
setup_wmd({
"input": "user_about",
"button_bar": "user_about-button-bar",
"preview": "user_about-preview",
"ajaxForm": true
});
所以,你现在可以调用Ajax请求加载后此方法加载编辑器。
不隶属于 StackOverflow