Wie Aktivieren Sie einen Hyperlink Zum Öffnen eines Modalen Dialog während ermöglicht auch in Neuer Registerkarte Öffnen auf dem gleichen link
Ich entwickle eine Webseite. Auf der Webseite ist ein hyper-link, der heißt "Ansicht-Seite". Einmal geklickt, das Ziel ist, dies zeigt die verknüpfte Seite in einem modalen dialog.
Hier ist der code, den ich verwenden, um dies zu erreichen:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Test</title>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>
<script>
function OpenModal() {
$("#divModal").dialog({
autoOpen: false, modal: true, title: 'Modal', width: 'auto', height: 'auto'
, buttons: { "Cancel": function () { $(this).dialog("close"); } },
}).dialog('open');
return false;
}
</script>
</head>
<body>
<a href="#" onclick="javascript:OpenModal();">View Page</a>
<div style="display:none;" id="divModal">
<iframe id="myIframe" src="SomeValidURL" width="1100" height="800" />
</div>
</body>
</html>
Gibt es eine Möglichkeit, dass eine ähnliche Funktionalität wie, dass unten umgesetzt werden kann, um dem Benutzer zu ermöglichen, klicken Sie rechts auf die Anzeigen Seite link, wählen Sie "in Neuer Registerkarte Öffnen" oder in Neuem Fenster Öffnen und haben SomeValidUrl öffnen im neuen tab oder neues Fenster? Wenn der Benutzer Klickt SomeValidUrl die Seite geöffnet werden soll im modalen dialog.
Ich würde entfernen Sie die
Der Grund, warum alles, was Sie bekommen, ist die Haupt Seite geöffnet in der Registerkarte ist aufgrund Ihrer
onclick
und dann verwenden Sie eine normale click-Ereignis, dann erkennen Sie was für eine Art von click-Ereignis, es war (Links, rechts oder in der Mitte) und entsprechend reagieren. (Tipp: Sie möchten nur zum öffnen des modalen auf die Links klicken). Auch müssten fügen Sie die url für die href.Der Grund, warum alles, was Sie bekommen, ist die Haupt Seite geöffnet in der Registerkarte ist aufgrund Ihrer
href="#"
.InformationsquelleAutor fin | 2013-03-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist wirklich kein problem mit
return false
. Eigentlich sollte man! Wenn Sie nichtreturn false
oderpreventDefault
Ihrem modal öffnen und dann den link ausgelöst, die Weiterleitung Sie auf die andere Seite.Wenn Sie wollen, dass diese arbeiten nur, wenn der Benutzer klickt sich seinen Weg durch die Verknüpfung, um es zu öffnen in einem neuen Fenster/tab, es ist ausreichend für dich, um
SomeValidURL
(das haben Sie in dersrc
Attribut desiframe
) für diehref
Attribut desa
element.Auch, so ein allgemeiner Tipp, vermeiden Sie die Bindung von Ereignissen inline; eher
jQuery.auf
: es ist flexibler, es klebt an der besten Praxis der Trennung von Bedenken, und es hilft wirklich, mit Krempel.Ahah danke, ich war ziemlich genießen der 999-Ruf: Lustiger Zufall.
Klicken Sie auf eines der post-score! Sie werden erstaunt sein.
Ah! In der Tat keine Lust Benachrichtigung führte mich in die Privilegien der 1-tausend-en. Vielen Dank 🙂
InformationsquelleAutor Sunyatasattva
Fügen Sie eine Klasse, um die links dann verwenden Sie diese.
Demo: http://jsfiddle.net/calder12/Er7NN/
InformationsquelleAutor Rick Calder
Dann erlauben, den normalen Gebrauch von der Verbindung, mit der
href
Attribut:Trotz der
return false
, das sollte noch funktionieren, da Ihrclick
- handler ist nicht beteiligt, wenn mit der rechten Maustaste und wählen Sie "in neuer Registerkarte öffnen" aus dem daraus resultierenden browser-rendered Kontextmenü.InformationsquelleAutor Lightness Races in Orbit