Wie kann ich ein Dialogfeld von jQuery zeigt nur, nachdem ich einen Knopf drücken?

StackOverflow https://stackoverflow.com/questions/1413147

  •  06-07-2019
  •  | 
  •  

Frage

Dieser Code ist von der Demo-modaler Bestätigung auf der jQuery-Website.

<script type="text/javascript">
$(function() {
    $("#dialog").dialog({
        bgiframe: true,
        resizable: false,
        height:140,
        modal: true,
        overlay: {
            backgroundColor: '#000',
            opacity: 0.5
        },
        buttons: {
            'Yes': function() {
                $(this).dialog('close');
            },
            'No': function() {
                $(this).dialog('close');
            }
        }
    });
});
</script>



<div class="demo">

<div id="dialog" title="Empty the recycle bin?">
    <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>These items will be permanently deleted and cannot be recovered. Are you sure?</p>
</div>

<!-- Sample page content to illustrate the layering of the dialog -->
<div class="hiddenInViewSource" style="padding:20px;">
    <p>Sed vel diam id libero <a href="http://example.com">rutrum convallis</a>. Donec aliquet leo vel magna. Phasellus rhoncus faucibus ante. Etiam bibendum, enim faucibus aliquet rhoncus, arcu felis ultricies neque, sit amet auctor elit eros a lectus.</p>
    <form>
        <input value="text input" /><br />
        <input type="checkbox" />checkbox<br />
        <input type="radio" />radio<br />
        <select>
            <option>select</option>
        </select><br /><br />
        <textarea>textarea</textarea><br />
    </form>
</div><!-- End sample page content -->

</div><!-- End demo -->

<div class="demo-description">

<p>Confirm an action that may be destructive or important.  Set the <code>modal</code> option to true, and specify primary and secondary user actions with the <code>buttons</code> option.</p>

</div><!-- End demo-description -->

Kann mir jemand sagen, wie diese Show machen erst, nachdem ich einen Knopf drücken? Gerade jetzt ist es zeigt automatisch auf der Seite direkt nach dem Laden.

War es hilfreich?

Lösung

Richtig oder falsch, hier ist ein Beispiel von einem generischen Alarm Stil Dialog, die ich benutze:

den Dialog einrichten (in dem Dokument bereit):

$("#generic-dialog").dialog({
    autoOpen: false,
    buttons: {
        Ok: function() {
            $(this).dialog("close");
        }
    }
});

Und öffnen Sie den Dialog (nach einem Ereignis):

$("#generic-dialog")
   .text("Status updated successfully.")
   .dialog("option", "title", "Your Status").dialog("open");

Andere Tipps

Fügen Sie die Schaltfläche, um die Seite und fügen Sie den Code in dem Click-Ereignis der Schaltfläche.

<script type="text/javascript">
$(function() {
    $("#button").click(function(){
    $("#dialog").dialog({
            bgiframe: true,
            resizable: false,
            height:140,
            modal: true,
            overlay: {
                    backgroundColor: '#000',
                    opacity: 0.5
            },
            buttons: {
                    'Yes': function() {
                            $(this).dialog('close');
                    },
                    'No': function() {
                            $(this).dialog('close');
                    }
            }
      });
   });
  });
</script>

und in HTML

<input type='button' value="click" id="button"/>
$("#btnTest").click(function() {
       $('#dialog').dialog('open');
        return false;
    })

Das sollte den Dialog öffnen Sie definiert haben - legt den Dialog offen Funktion Ereignis der Schaltfläche klicken

Oh - und setzt autoOpen: false auf den Dialog-Setup-Eigenschaften:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top