javascript - Bootstrap 3 popover 作为嵌套消息框/评论插件

标签 javascript jquery css twitter-bootstrap popover

我正在制作一个评论插件。在一个页面上可以有多个评论框。输入评论后,它应该立即显示在评论框中。我已经为此构建了一个示例,但我遇到了 2 个基本问题

  • 当我从一个评论框中输入评论时,它输入正确,但当我移至第二个和第三个框时,评论重复出现。
  • 当我离开弹出窗口时,输入的评论会被删除。

HTML

<i type="button" class="glyphicon glyphicon-plus chatboxPlugin" data-content='sadf' data-container="body" data-toggle="popover" data-placement="bottom" data-html=true ></i>
<br>

<i type="button" class="glyphicon glyphicon-plus chatboxPlugin" data-content='sadf' data-container="body" data-toggle="popover" data-placement="bottom" data-html=true ></i>
<br>

<i type="button" class="glyphicon glyphicon-plus chatboxPlugin" data-content='sadf' data-container="body" data-toggle="popover" data-placement="bottom" data-html=true ></i>
    <br>

脚本

$('.chatboxPlugin').on('show.bs.popover', function () {
    content ="<div class='row'> \
    <div class='col-xs-12 commentArea'> \
        <div class='row'> \
          <div class='col-xs-11 pull-left'> \
            <p><i class='fa fa-user'>&nbsp;</i>Hi.....</p> \
          </div> \
        </div> \
        <div class='row'> \
          <div class='col-xs-11 col-xs-offset-1 text-right pull-right'> \
           <p> Hey..........&nbsp;<i class='fa fa-user'></i></p> \
          </div> \
        </div> \
    </div>\
    <div class='col-xs-12'> \
        <div class='row'> \
          <div class='col-xs-12'> \
            <div class='input-group'> \
                <input type='text' class='form-control comment' placeholder='Add Your Comment&hellip;'> \
                <span class='input-group-btn'> \
                   <button type='submit' class='btn btn-default addComment'><i class='glyphicon glyphicon-plus'></i></button> \
                </span> \
            </div> \
          </div> \
        </div> \
    </div> \
</div>";
    $(this).attr({'data-content':content});
    $('body').on('click','.addComment',function(e){
        e.preventDefault(e);
        content = $(this).parents().eq(5);
        commentArea = content.children('.commentArea');
        // alert(commentArea.html());
        comment = "<div class='row'> \
          <div class='col-xs-11 col-xs-offset-1 text-right pull-right'> \
           <p>"+$(this).parents().eq(1).children('.comment').val()+" <i class='fa fa-user'></i></p> \
          </div> \
        </div> ";
        commentArea.append(comment);
        return;
    })


})

$('[data-toggle="popover"]').popover();

我在这里创建了一个可用的 JS Fiddle http://jsfiddle.net/vah791ut/

最佳答案

怎么样this

我使用了jquery的data方法来保存数据

关于javascript - Bootstrap 3 popover 作为嵌套消息框/评论插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27855200/

相关文章:

javascript - 如何使用 jQuery 部分更新 DOM

php - 文本区域中的文本更改时触发事件

css - 为什么线性渐变适用于我的 div,但不适用于我的 body ?

html - 导航宽度导致页面右侧有额外空间

javascript - 获取当前浏览器窗口中心

javascript - RESTful HTTP 网络的最佳 Javascript 框架

javascript - 如何使图像围绕圆圈透明

javascript - 数组不重新编号

javascript - 如何在 JavaScript 中检索页面标题?

加载 CSS 整个 Sprite 图像