【问题标题】:Call same function in jquery after modal shows up模态出现后在jquery中调用相同的函数
【发布时间】:2015-09-12 02:43:22
【问题描述】:

我正在使用引导模式在单击文本时显示我的 div 中的内容(由<span> 包围)。

每当您单击跨度标记内的文本时,我都会通过$(#div_to_show").modal() 调用它。 modal() 是引导模式 javascript 的一部分。

我的 span 使用 someClass 类。我用

function update() 
{
    ('.someClass').click(function() {
        var atr = $(this).attr("atr");

        $.get("../Folder/getFile?atr="atr, function(data) {
            json=JSON.parse(data);

            if(typeof(json.error) == "undefined") {
                var foobar = json.foo.replace(/_/g, '"');
                bar("#div_to_show", foobar);
                $("#div_to_show").modal();
            }
        });

        return false;
    });
}

我可以在$(#div_to_show").modal(); 之后添加update();,但这会导致它进入无限循环,即使模式出现并且未单击跨度也是如此。

我的问题是,当您单击环绕 span 的文本时,如何调用函数 update()

【问题讨论】:

  • 为什么要调用这个更新函数,它没有做任何额外的事情?
  • 确实如此。我只是留下了大部分代码以保持简单,我无法真正展示它。很抱歉造成混乱。
  • 那么为什么不把额外的代码放在不影响模式的不同方法中呢?
  • 谢谢,现在正在尝试做这样的工作。

标签: javascript jquery twitter-bootstrap modal-dialog bootstrap-modal


【解决方案1】:

试试这个:

$('.someClass').on('click', function() {
    update();
});

function update()
{
    $("#div_to_show").modal();
}

【讨论】:

  • 别介意有错字。但是,模态仍然无法单击。它在页面加载时打开。
  • 试试 $('.someClass').off ();在点击之前
  • 那什么也没做。如果有帮助,update() 也会被页面上的其他函数调用,这就是它出现在页面加载时的原因。此外,在我在 op 中的原始代码中,会根据 span 标签中的属性显示不同的模式。我想我的代码太简单了。对不起,我会更新它。
  • return false 对函数很重要吗?如果没有尝试删除它。
  • 是的,没有它,数据不会显示在模态中。
猜你喜欢
  • 2018-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多