javascript - 重新渲染 jQuery 函数

标签 javascript jquery

所以,我有以下 jquery 函数:

        jQuery('.button').click(function(e) {               
            if(!isMobile) {
                jQuery('.button').featherlight({                        
                });                                         
            }   
        })

这会在 <body> 的底部创建一个灯箱如下所示:

打开灯箱之前:

<body>
    <button> Show lightbox</button>
    <script src="https://...jquery.min.js"></script>
    <script src="https://...custom_js.js"></script>
</body> 

灯箱打开后:

<body>
    <button> Show lightbox</button>
    <script src="https://...jquery.min.js"></script>
    <script src="https://...custom_js.js"></script>
    <div class="lightbox">Lightbox content</div>
</body> 

问题是,该灯箱内的 jQuery 函数都无法正常工作,因为它是在页面加载后创建的。

创建灯箱后如何“重新渲染”js 文件?

谢谢!

这是一个例子:

jQuery('#tags').keyup(function(e){
    console.log(e);                    
     if(e.which == 188) {
        var tag  = ...;
        var data = '<button>tag</button>';
        tags.push(tag);
        jQuery('.tags ul').append(data);
        jQuery(this).val('');
                }               
        });

在这里,标签输入将被“附加”或添加到 div class="tags"。然而在灯箱内部,这个函数根本不被执行。

最佳答案

重新渲染 JS 文件并不是 javascript 的工作方式。

我建议您在 afterContent 回调中运行 a 函数。

正如您在featherlight 文档中所看到的,有大量回调可以帮助您完成此任务。

示例:

 jQuery('.button').click(function(e) {               
        if(!isMobile) {
            jQuery('.button').featherlight({

                afterContent: function () {
                    // Do your code here
                    // The lightbox content will be ready
                }

            });                                         
        }   
    })

关于javascript - 重新渲染 jQuery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33662426/

相关文章:

javascript - 使用Node.JS查询MySQL并在网页中显示结果

Jquery:禁用先前选择的下拉值的默认值

javascript - 工具提示 Bootstrap 持续时间

jquery mobile 更改特定元素

jquery - jquery远程验证中if和else的写法

javascript - NodeJS - 我的方法不执行

Angular 2模板内的Javascript未执行

javascript - Reactjs需要结合Render中的const和componentDidMount中的axios调用来创建DOM元素表

javascript - 在我的测试中 $observe 函数从未被调用

JQuery 添加类到菜单