Signature_pad 在显示隐藏的 div 时不起作用

Signature_pad doesn't work when hidden div is shown

我正在尝试实现这个 signaturePad https://github.com/szimek/signature_pad,当我在单个页面中尝试时它工作正常,但是当我尝试放入一个 div 时,问题就来了隐藏在开始时,然后垫不起作用。我认为是 canvas 调整大小的问题,但我不知道如何解决它。

这是我的代码:

<div class="col-sm-9 col-md-10 message-list">
  This is the first div, which I hidde when click on a row
</div>
<div class="col-sm-9 col-md-10 view-message" style="display:none" >
 <div id="signature-pad" class="m-signature-pad">
    <div class="m-signature-pad--body">
       <canvas></canvas>
    </div>
    <div class="m-signature-pad--footer">
       <div class="description">Sign above</div>
          <button type="button" class="button clear sign_btn" data-action="clear">Clear</button>
          <button type="button" class="button save sign_btn" data-action="save">Save</button>
    </div>
</div>

这是 js 部分:

$(document).ready(function() {
$(".list-group-item").each(function() {
    $(this).click(function() {
            $(".message-list").fadeOut('slow').css('display','none');
            $(".view-message").fadeIn('slow').css('display','block');
    });
});

我加载了所有需要的 js 和 css,它在主视图中工作,但当我通过一个按钮并将 div 更改为阻止时,它却没有。我试图阅读文档,但不是很清楚。

使用:height: 0; overflow: hidden; 而不是:display:none

对我有用。

您可以尝试将可见性设置为隐藏而不是 display:none 吗?

$(".list-group-item").each(function() {
    $(this).click(function() {
            $(".message-list").fadeOut('slow').css('visibility','hidden');
            $(".view-message").fadeIn('slow').css('visibility','visible');
    });
});

CSS 操作对我不起作用。在用户准备好签名之前,我没有使用 CSS 来渲染签名板。 IE。用监听某个事件的条件包装签名板组件。