将元素绑定到 FeatherLight JS Lightbox

binding element to FeatherLight JS Lightbox

显然我在从 featherLight js 绑定到灯箱时遇到了问题。 这是我的代码:

  $(document).on("click", "#plate_preview_btn", function() {
    $.featherlight('#previewCompleteContainer', {});
  });

根据我对上述代码的理解,我正在绑定文档。那么之后动态添加的任何东西都应该绑定到右边吗?

上面的代码在我点击#plate_preview_btn后生成了一个灯箱。

然后我在代码和控制台中都有 运行 以下内容: 为了阐明下面的代码需要 运行 而 Lightbox 在屏幕上而不是 BEFORE 因为这只是一个示例 css,宽度将添加一个动态值,我只能在 Lightbox 之后设置在屏幕上。

$('#img_preview_text_container').css("width", '300px');

Lightbox中的div没有添加宽度:300px; 如果我关闭灯箱并再次单击它,它就会添加它。根据我的研究,这是因为绑定。我不明白为什么上面的代码应该从我读过的内容中工作。 还尝试将 featherlight 直接绑定到按钮,但也没有用:

$("#plate_preview_btn")..featherlight(....)

知道我做错了什么吗?

编辑:添加 html 代码:

<div class="impact_image_section">
    <button class="action_button" id="plate_preview_btn">preview</button
</div>

<div id="previewCompleteContainer" >
        <img src="https://citylocs.com/apps/preview/img/Texas-Classic-License-Plate-Preview.jpg" alt="" id="preview_image_img">
        <div id="img_preview_text_container" style="position: absolute; top: 120px; left: 56px;">
            <div id="img_preview_text" style="color: #000000;"></div>
        </div>
        </div>

您的代码似乎运行良好。看这个例子:

$(document).on("click", "#plate_preview_btn", function() {
  $.featherlight('#previewCompleteContainer', {});
});

$('#img_preview_text_container').css("width", '300px');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/featherlight/1.7.13/featherlight.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/featherlight/1.7.13/featherlight.min.js"></script>

<div class="impact_image_section">
  <button class="action_button" id="plate_preview_btn">preview</button>
</div>

<div id="previewCompleteContainer">
  <img src="https://citylocs.com/apps/preview/img/Texas-Classic-License-Plate-Preview.jpg" alt="" id="preview_image_img">
  <div id="img_preview_text_container" style="position: absolute; top: 120px; left: 56px;">
    <div id="img_preview_text" style="color: #000000;"></div>
  </div>
</div>

这最终对我有用:

  $(document).on("click", "#plate_preview_btn", function() {
    $.featherlight('#previewCompleteContainer', {});

    $.featherlight.defaults.afterOpen = function(){
    var flc = $(".featherlight-content");
    var previewBox = flc.find('#img_preview_text_container');
    previewBox.css('width', '400px');
};
  });