Javascript 更新引导Popover内容

Javascript 更新引导Popover内容,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我试图创建一个指示器,每当输入文本被聚焦时,它就会弹出。popover的内容是html JS $('.validate').popover({ html : true, trigger : 'focus', content : function() { return $('#popover-content').html(); } }); 改变时 $('.validate').change(function() { var eval_me

我试图创建一个指示器,每当输入文本被聚焦时,它就会弹出。popover的内容是html

JS

$('.validate').popover({
    html : true,
    trigger : 'focus',
    content : function() {
        return $('#popover-content').html();
    }
});
改变时

$('.validate').change(function() {
    var eval_me = $('.validate').val();
    $('#sample').html(eval_me);
});
HTML文件

    <div class="input-prepend">
        <span class="add-on"><i class="icon-lock"></i></span><input type="text" class="validate" data-placement='right' title="Hello World">
    </div>

    <div id="popover-content" style="display: none">
        <div class="row"><label id="sample">This is your div content</label></div>
    </div>

这是您的div内容
标签内的内容得到更新,但popover没有更新。关闭popover并再次聚焦输入文本(打开它)将显示更新的标签


感谢您的帮助:)

有两件事:在输入失去焦点之前,
change
事件不会触发,您可能希望将更新代码绑定到
keyup
事件。其次,尽管该代码正在更新您的
示例
div,但当触发popover时,popover只是获取该数据;如果要更新popover的
sample
div,则需要将其作为
keyup
事件处理程序的一部分进行处理。尝试更改该事件处理程序,如下所示:

$('.validate').keyup(function() {
  var eval_me = $('.validate').val();
  $('#sample').html(eval_me);
  $('.popover #sample').html(eval_me);
});
你应该表现得很好。检查一下


编辑:实际上玩了一点,似乎
keyup
keypress
是一个更好的触发器,否则更新会落后于输入一个字符,但我可能只是遗漏了一些东西。相应地更改了上面的代码。

您如何激活popover?另外,在JSFIDLE或codepen中加入此选项将有助于在输入被聚焦时激活它,是在我初始化popover
触发器时激活的:'focus'
是的,我想它与
更改
未被触发有关!谢谢我还注意到,您可能希望将
sample
作为一个类而不是一个id,这样您就不会得到重复的id,因为这是不对的。