工具提示弹出框内的 Bootstrap 输入字段从输出 html 中删除

Eri*_*rik 9 input tooltip popover bootstrap-4

您好,我正在使用 boostrap 4.3.1 并包含 popper 1.14.7。

通常我可以在弹出窗口/工具提示的内容中添加输入字段。从什么时候开始我就没有,但是在我将输入字段放入内容的那一刻,只有文本可见。

当我查看源代码(编译后的 html)时,我可以看到 popper 或 bootstrap 删除了输入字段。我有什么问题吗?

    var options = {
        html: true,
        // content: function(){ return $(".amountElec.popup").html();},
        placement: "bottom",
        container: "body"
    };
    
    $(function(){
        $('#manualinput').popover(options);
    })
Run Code Online (Sandbox Code Playgroud)
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>


<div id="manualinput" 
     data-container="body" 
     data-toggle="popover"  
     data-content="test <input name='test' type='text' value='2'>" 
     data-html="true" 
     data-placement="bottom">
     
     OPEN TOOLTUP
</div>
Run Code Online (Sandbox Code Playgroud)

Rob*_*uth 15

你想的更简单:

添加

sanitize: false
Run Code Online (Sandbox Code Playgroud)

如果您想完全禁用消毒,请作为配置选项。如果您只想调整白名单,那么您的解决方案是正确的

https://github.com/twbs/bootstrap/blob/438e01b61c935409adca29cde3dbb66dd119eefd/js/src/tooltip.js#L472

  • 我也是!特别是因为它不在官方引导文档中。 (4认同)

Eri*_*rik 3

我找到了解决方案...

我的情况是将其添加到 javascript 中:

        var myDefaultWhiteList = $.fn.tooltip.Constructor.Default.whiteList;
        myDefaultWhiteList.input = [];
Run Code Online (Sandbox Code Playgroud)

https://getbootstrap.com/docs/4.3/getting-started/javascript/#sanitizer