我在论坛上使用WYMEditor,用户可以“引用”其他人的消息。在这种情况下,WYMEditor会加载包含在blockquote标记中的内容。
不幸的是,通常报价的内容比输入框大小占用更多空间,当用户点击框时最终在blockquote中输入文本。这会导致杂乱的消息。
我想要的是将WYMEditor的内容滚动到底部,将光标放在最后并专注于wym框。不幸的是,WYMEditor api中没有这样的功能。有一些未记录的函数在源代码中提供了选择管理,但是我的JavaScript / jQuery技能还不足以使用它们 - 我已经尝试但失败了。
答案 0 :(得分:0)
postInit
选项和jQuery scrollTop
函数的组合应该可以解决问题。我还建议为它们插入一个占位符段落,同时滚动到底部。例如:
jQuery('.wymeditor').wymeditor({
postInit: function (wym) {
var $contents,
$p,
$blockquote = jQuery(wym._doc).find('blockquote');
// Insert a placeholder empty paragraph
// so that users will be encouraged to not type inside the blockquote
$blockquote.after("<p>");
// Scroll the iframe to the bottom
$contents = $(wym._iframe).contents();
$contents.scrollTop($contents.height());
// Move the selection to the paragraph
$(wym._iframe).focus();
$p = jQuery(wym._doc).find('p');
var sel = rangy.getIframeSelection(wym._iframe),
range = rangy.createRange(wym._doc);
range.setStart($p[0], 0);
range.setEnd($p[0], 0);
range.collapse(true);
sel.setSingleRange(range);
if (jQuery.browser.msie) {
wym.saveCaret();
}
}
});