我需要在页面上的一个元素中使用两个插件。我从来不需要这样做,而是尝试下面的代码。大多数都没有用!

<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.,@?^=%&amp;:\/~+#-]*[\w@?^=%&amp;\/~+#-])?#([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() });


并将功能附加到按键上(例如实验)

07-24 21:54