我需要在页面上的一个元素中使用两个插件。我从来不需要这样做,而是尝试下面的代码。大多数都没有用!
<script type="text/javascript">
$(document).ready(function()
{
var wbbOpt = {buttons: "bold,italic,underline,|,img,link,|,code,quote"}
// plugin one wysibb
$("#editor").wysibb(wbbOpt);
// plugin two hashtags
$("#editor").hashtags();
//the two plugin worked in textarea #editor
});
</script>
谁能帮我?谢谢。
最佳答案
因此,您不能使用它们,因为它们每个都可以控制并包装文本区域。由于编辑器是两者中最复杂的,因此最好的办法是获取#标签的代码并根据需要对其进行调整。
所以这是一个有效的示例,但是如果您愿意,可以触发我用于change事件的函数(将其添加)或其他方式
<div id="higlighter" style="width;1217px;"></div>
<textarea id="editor"></textarea>
<br />
<input id="btn" type="button" value="HASH">
<br />
$(document).ready(function() {
var wbbOpt = {
buttons: "bold,italic,underline,|,img,link,|,code,quote"
};
$("#editor").wysibb(wbbOpt);
$('#btn').click(function () { report() });
});
function report() {
$("#hashtag").val($("#editor").htmlcode());
var str = $("#editor").htmlcode();
str = str.replace(/\n/g, '<br>');
if(!str.match(/(http|ftp|https):\/\/[\w-]+(\.[\w-]+)+([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?#([a-zA-Z0-9]+)/g)) {
if(!str.match(/#([a-zA-Z0-9]+)#/g)) {
str = str.replace(/#([a-zA-Z0-9]+)/g,'<span class="hashtag2">#$1</span>');
}else{
str = str.replace(/#([a-zA-Z0-9]+)#([a-zA-Z0-9]+)/g,'<span class="hashtag2">#$1</span>');
}
}
$("#editor").htmlcode(str);
}
您可以在jsfiddle上查看有效代码。
http://jsfiddle.net/4kj7d6mh/2/
您可以键入文本并使用编辑器,然后在想要对hastag进行高亮显示时,单击按钮。如果您希望这种情况自动发生,则必须更改此行:
$('#btn').click(function () { report() });
并将功能附加到按键上(例如实验)