点击引导模式窗口之外的Javascript后无法工作

在模态窗口外单击后,再次打开相同的模态窗口。 我内部的所有功能都停止工作。

我不想阻止用户在模态外单击,对于我能做什么来避免此问题有任何想法?

我有以下一行代码来调用模态窗口:

<a href="/samples/edit/{{$sample->project_id}}/{{$sample->id}}" data-target="#editSample" data-toggle="modal"> {{$sample->name}}</a>

在这里我有一些在模态内执行的JavaScript代码。

$(document).ready(function()
{

$("input[name$='data_input']").click(function(event) {
    event.preventDefault();
    event.stopPropagation();
    console.log('test');
    var type = $(this).val();
    $("#data_input_type").val(type);

    $("div.data_input").hide();
    $("#data" + type).show();

    var btn = event.target.id;
    if (btn === 'toggle-xyz')
    {
        $('#sample-btn-xyz').addClass('active');
        $('#sample-btn-drillhole').removeClass('active');
    }
    else
    {
        $('#sample-btn-drillhole').addClass('active');
        $('#sample-btn-xyz').removeClass('active');
    }
});

现在当用户在模态窗口之外单击关闭它时,以及用户是否决定再次打开窗口。 所有的JavaScript停止工作。 我必须刷新页面才能再次打开模式,并能够使用模式中的所有功能


猜测(鉴于你给出的代码量),我不知道点击事件是否正在分离。

而不是$(element).click(function(){});

...使用像这样的jQuery的.on()方法:

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


所以我做了什么,是我每次通过单击外部模式窗口关闭时在页面上添加了一个刷新。 仍然想知道是否有更好的解决方案。 但到目前为止,这工作。

window.location.reload()
链接地址: http://www.djcxy.com/p/83989.html

上一篇: Javascript is not working after clicking outside of modal window on bootstrap

下一篇: Catch event of backdrop click on AngularJS modal window