Вставьте текст в текстовый редактор Markitup
Я написал код
$(".ka_opinions_quote a").click(function(){
var quoted_text = $(this).parents("div.o_opinion").find(".ka_opinion_txt").text();
var cite_uri = $(this).parents("div.o_opinion").prev().find("a").attr("href");
var curr_text = $(".editor").text();
$(".editor").text(curr_text+'<quote cite="<?php echo mb_substr(JURI::base(), 0, -1); ?>'+cite_uri+'">'+quoted_text+'</quote>');
});
После нажатия вставьте текст в текстовое поле. Но если пользователь вставляет или пишет некоторый текст в textarea или удаляет текст и после нажатия на ссылку цитаты, текст не отображается в textarea, но в Firebug я вижу, но на самом деле текст уже существует
Любые идеи, как я могу реализовать правильную вставку текста?
2 ответа
Я изменил пример, который поставляется с markitup (посмотрите на index.html в архиве Markitup!) И вот что у нас получилось:
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="markitup/jquery.markitup.js"></script>
<script type="text/javascript" src="markitup/sets/default/set.js"></script>
<link rel="stylesheet" type="text/css" href="markitup/skins/markitup/style.css" />
<link rel="stylesheet" type="text/css" href="markitup/sets/default/style.css" />
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
$('#markItUp').markItUp(mySettings);
$('.add').click(function() {
$.markItUp( { openWith:'<opening tag>',
closeWith:'<\/closing tag>',
placeHolder:document.getSelection()
}
);
return false;
});
});
</script>
<p>Click <a href="#" class="add">this link to insert content</a> from anywhere in the page</p>
<p>
<textarea id="markItUp" cols="80" rows="20">
<h1>Welcome on markItUp!</h1>
<p><strong>markItUp!</strong> is a JavaScript plugin built on the jQuery library. It allows you to turn any textarea into a markup editor. Html, Textile, Wiki Syntax, Markdown, BBcode or even your own markup system can be easily implemented.</p>
</textarea>
</p>
</body>
</html>
Вы устанавливаете позицию курсора в текстовой области, выбираете текст и нажимаете ссылку "... добавить содержимое...". Скрипт просто помещает выбранный вами текст в текстовую область в позиции курсора. Извините за использование document.getSelection () - не нашел подобной вспомогательной функции в jQuery =)
Это зависит от того, какой редактор вы используете. для разметки вы можете эти;
$.markItUp({ name:"YourWord", openWith:"[b]", closeWith:"[/b]" })
$.markItUp({ replaceWith: "yourCustomEntry" });