Wie Sie verhindern, dass div refresh mit jquery, wenn ein bootstrap modal ist bereits geöffnet?

Ich bin erfrischend, ein div, der alle 30 Sekunden, im inneren des div, die ich aktualisieren, gibt es eine bootstrap-modal-box. Wenn das modal wird angeklickt und geöffnet ist, dann, wenn der div-aktualisiert modal verschwindet verlassen die ganze Seite unklickbaren. Ich bin auf der Suche nach einer Lösung für dieses.

Ich bin der Hoffnung, um zu verhindern, dass div erfrischend, wenn modales Dialogfeld geöffnet ist. Irgendwelche Ideen? Dank

<div class="modal fade" id="alertModal" tabindex="-1" role="dialog" aria-labelledby="alertModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header bg-info text-white">
        <h5 class="modal-title" id="alertModalLabel">Modal Title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
      </div>
      <div class="modal-body">
        some content
      </div>
    </div>
  </div>
</div>
$(document).ready(function() {
  setInterval(function() {
    $('#mainc').fadeOut('slow').load('index.php #mainc').fadeIn('slow');
  }, 30000);
});
0
2019-09-17 10:49:38
Quelle
2 Antworten

Sie können etwas tun:

import json

def json_default(obj):
    if isinstance(obj, SpreadSheet):
        return obj._cells
    raise TypeError

cheet = SpreadSheet()    
cheet['a'] = 5
cheet['b'] = 23
cheet['c'] = -4


print(json.dumps(cheet, default=json_default))

Ausgabe:

{"a": 5, "b": 23, "c": -4}

Der Schlüssel ist die Funktion json_default erzählt, dass die json-decoder, wie zum serialisieren Sie Ihre Klasse!

+0
2019-09-17 20:43:02

Ich glaube, ich fand einen Weg, es zu tun, basiert auf einer modifizierten version der Vorschlag in dieser Antwort auf die Frage , Wie "perfekt" überschreiben dict?.

Hier ist das Ergebnis:

from __future__ import print_function
try:
    from collections.abc import Mapping, MutableMapping  # Python 3
except ImportError:
    from collections import Mapping, MutableMapping  # Python 2


class SpreadSheet(MutableMapping):
    def __init__(self, tools=None, **kwargs):
        self.__class__ = dict  # see https://stackoverflow.com/a/47361653/355230

        self._cells = {}
        self._tools = {'__builtins__': None}
        if tools is not None:
            self._tools.update(tools)  # Add caller supplied functions.

    @classmethod
    def __class__(cls):  # see https://stackoverflow.com/a/47361653/355230
        return dict

    def clear(self):
        return self._cells.clear()

    def __contains__(self, key):
        return key in self._cells

    def __setitem__(self, key, formula):
        self._cells[key] = formula

    def __getitem__(self, key):
        return eval(self._cells[key], self._tools, self)

    def __len__(self):
        return len(self._cells)

    def __iter__(self):
        return iter(self._cells)

    def __delitem__(self, key):
        del self._cells[key]

    def getformula(self, key):
        """ Return raw un-evaluated contents of cell. """
        return self._cells[key]

    def update(self, *args, **kwargs):
        for k, v in dict(*args, **kwargs).iteritems():
            self[k] = v

#    # Doesn't work.
#    type(dict).register(SpreadSheet)  # Register class as dict subclass.


if __name__ == '__main__':

    import json
    from math import cos, sin, pi, tan

    # A small set of safe built-ins.
    tools = dict(len=len, sin=sin, cos=cos, pi=pi, tan=tan)

    ss = SpreadSheet(tools)
    ss['a1'] = '5'
    ss['a2'] = 'a1*6'
    ss['a3'] = 'a2*7'
    ss['b1'] = 'sin(pi/4)'

    print()
    print('isinstance(SpreadSheet(tools), dict) -> {}'.format(isinstance(ss, dict)))
    print()
    print('Static Contents via getformula():')
    print(json.dumps({k: ss.getformula(k) for k in ss.keys()}, indent=4))
    print()
    print('Dynamic Contents via __getitem__():')
    print("  ss['a1'] -> {!r}".format(ss['a1']))
    print("  ss['a2'] -> {!r}".format(ss['a2']))
    print("  ss['a3'] -> {!r}".format(ss['a3']))
    print("  ss['b1'] -> {!r}".format(ss['b1']))
    print()
    print("via json.dumps(ss, indent=4):")
    print(json.dumps(ss, indent=4))

Ausgabe:

isinstance(SpreadSheet(tools), dict) -> True

Static Contents via getformula():
{
    "a1": "5",
    "a2": "a1*6",
    "a3": "a2*7",
    "b1": "sin(pi/4)"
}

Dynamic Contents via __getitem__():
  ss['a1'] -> 5
  ss['a2'] -> 30
  ss['a3'] -> 210
  ss['b1'] -> 0.7071067811865475

via json.dumps(ss, indent=4):
{
    "a1": 5,
    "a2": 30,
    "a3": 210,
    "b1": 0.7071067811865475
}

Hinweis: ich habe die Idee für diese Klasse aus einem alten ActiveState Rezept von Raymond Hettinger.

+0
2019-09-17 20:43:02

Sehen Sie sich andere Fragen zu Tags an