2012-04-11 9 views
1

http://jsfiddle.net/VtNaU/functionCallOnClose funktioniert nicht in JQuery DOMWindow Plugin

‚functionCallOnOpen‘ scheint zu funktionieren gut, aber ‚functionCallOnClose‘ (Ich möchte die man eigentlich verwenden) nicht zu funktionieren scheinen. Ich habe auch versucht .closeDOMWindow click() aber das wird nur aufgerufen, wenn die Schließen-Schaltfläche angeklickt wird - nicht, wenn der Außenbereich angeklickt wird (wodurch auch das Fenster geschlossen wird). Hier ist der Quellcode des Plug-Ins: http://swip.codylindley.com/jquery.DOMWindow.js

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script src="http://swip.codylindley.com/jquery.DOMWindow.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('#test1').click(function(event) { 
    $.openDOMWindow({ 
     functionCallOnOpen: function() { 
      alert("opening"); 
     },  
     functionCallOnClose: function() { 
      alert("closing"); 
     }, 
     height:100, 
     width:200, 
     windowSourceID:'#theWindow' 
    }); 
}); 
}); 
</script> 
<button id="test1">Open Window</button> 

<div style="display:none;" id="theWindow"> 
<h1>Test</h1> 
<button class="closeDOMWindow">Close</button> 
</div> 

Antwort

1

Dieses Skript hat ein paar Probleme, aber Sie können diese Pfade im Skript vermeiden jQuery, indem Sie eine enge Funktion, um Ihre Taste zu finden:

http://jsfiddle.net/cybermonk/Zd78c/

Viel Glück!

+0

Dank es funktioniert besser, aber es gibt ein neues Problem .... http://jsfiddle.net/eJRYf/2/ Wenn Sie auf die Schaltfläche zum Schließen klicken, zeigt es wiederholt die "Schließen" -Alarm - einmal für jedes Mal Du hast das Fenster geschlossen. Wenn das Fenster also bereits 10 Mal geschlossen wurde (entweder durch Klicken auf "Schließen" oder durch Klicken außerhalb des Fensters), wird nach dem Klicken auf "Schließen" die Warnung "Schließen" angezeigt. Bearbeitetes DOMWindow-Skript: http://sky-walker.net/temp/test/jquery.DOMWindow-new.js –

+0

Hallo Entschuldigung, ich weiß nicht, was du meinst, wenn du sagst: "Versuche, die Änderungen innerhalb von ... zurückzurollen." " Auch in diesem jsfiddle erkennt es nicht, wenn das Fenster geschlossen ist, wenn Sie außerhalb des Fensters klicken ... –

+0

Meine Geige http://jsfiddle.net/cybermonk/Zd78c/ aktualisiert, das Problem besteht immer noch, aber meine Geige vermeidet diesen Pfad (jedes Mal, wenn Sie ihn schließen, akkumuliert der Anruf bei geschlossenen Funktionen). Öffnen Sie auch die Konsole, damit Sie die Protokollanweisungen sehen können ... –

Verwandte Themen