2017-05-05 2 views
1

Ich habe den folgenden Code in meiner cshtml-Datei.wie fancybox von javascript zu öffnen.

<div style="display:none"> 
<div id="EditFancy" class="fancybox-infobar"> 
//Some not relevant input fields. 
</div> 
</div> 

Ich versuche, diese fancybox von einem Javascript zu aktivieren, das oben in der cshtml-Datei enthalten ist.

Allerdings kann ich es über einen Link in der gleichen cshtml-Datei aktivieren/anzeigen. Mit dem folgenden Code:

<a href="#EditFancy" class="btnForm" id="btnForm">asd</a> 
    <script type="text/javascript"> 
     $("#btnForm").fancybox(); 
    </script> 

Hilfe wird sehr geschätzt.

+0

Sie haben also einen Teil des Codes, den Sie irgendwo auf der Seite ausführen, und es funktioniert, aber es funktioniert nicht, wenn Sie es an der Spitze der Datei setzen? Warum sollte man es an die Spitze der Datei stellen? –

+0

@MikeC Wartbarkeit meist –

+0

@KyleBecker Das macht keinen Sinn. Es ist genauso wartungsfreundlich, alle Ihre Skripte ganz unten auf der Seite zu platzieren, was Sie ohnehin tun sollten, es sei denn, Sie haben einen sehr guten Grund, dies nicht zu tun. –

Antwort

0

Wenn Sie jquery versuchen, den Code mit $ (document) .ready() Funktion oder verwenden window.onload einzuwickeln() JavaScript-Funktion

+0

Die Funktion, die die fancybox aufrufen soll, befindet sich in einer $ (document) .ready() - Funktion. –

+0

Überprüfen Sie, ob Ihr Skript vor dem Laden der Bibliothek geladen wurde. Verwalten Sie den Skriptbereich auf der freigegebenen Layout-Seite? Diese Überlegung kann helfen. – decoder

+0

Ja, sie waren geladen. Stellt sich heraus, ich sollte jQuery.fancycox.open (jQuery ('# btnForm')) verwenden. Danke für Ihre Hilfe! –

0

Sie könnten Ihren eigenen Klick-Handler Event-Delegation erstellen, das sich öffnet fancybox zum Beispiel:

$("body").on("click", "btnForm", function() { 
    $.fancybox.open({ src: $(this).attr('href'), type : 'inline' }); 
}); 
+0

Danke! Allerdings habe ich gerade folgendes gefunden: jQuery.fancycox.open (jQuery ('# btnForm')); btnForm ist die ID des Tags, die auch die fancybox geöffnet hat. –