Event: Mit RECHTER Maustaste auf einen LINK klicken
Jens
- javascript
0 Martin0 ES GEHT !!!
Jens0 Stefan Muenz0 Jens
0 Alex Kleinjung
Hallo.
Schon oft ist behandelt worden, wie man darauf reagieren kann, wenn der Seitenbesucher irgendwo auf der Webseite mit der rechten Maustaste klickt (Stichworte: Quelltext unsichtbar machen u.s.w.) - kein Problem.
Meine Frage ist aber:
Wenn man bei einem LINK auf die rechte Maustaste klickt, erscheint ja auch ein Kontextmenu. Aber das ist ein LINK-bezogenes (Öffnen in neuem Fenster u.s.w.), kein SEITEN-bezogenes.
Kann man auf dieses LINK-bezogene Event auch zugreifen? Wenn es nicht direkt geht - hat jemand eine Idee, wie es auf Umwegen gehen könnte? Oder es schonmal versucht?
Ich möchte das Kontextmenu für einige Links ersetzen und denke immer schon: das müsste es doch geben...
Danke schonmal und viele Grüße
Jens
Hallo Jens,
wenn ich Dein Problem richtig verstanden habe, sollte ich Dir jetzt wohl raten, "Überleg Dir was anderes".
Das Aussehen und/oder Verhalten EINES BESTIMMTEN Browser-Merkmals (und das Kontextmenü ist ein solches) sollte für den Webdesigner eigentlich tabu sein. Erstens um dem User das gewohnte Look&Feel zu erhalten, das er sich selbst "customized" hat, und zweitens weil es außer Windows noch andere Betriebssysteme und außer MS IE noch andere Browser gibt.
Für meinen o.g. ersten Aspekt wäre hier eigentlich Stefan Einspender zuständig gewesen, aber der war wohl heute noch nicht so schnell ;))
Also: Entweder vergiss es, oder mach das Kontextmenü komplett selbst. Dann hast Du auch selbst in der Hand, wie es aussieht.
Gruß,
Martin
Hallo Martin,
abgesehen davon, daß Du grundsätzlich in allen Punkten recht hast, kann ich mir schon spezielle "html-Umgebungen" vorstellen, bei denen ein "speziell für einen Browser umgemodeltes" Aussehen von Browserstandartelementen sinvoll sein kann. Ich z.Bsp. erstelle von bestimmten "Künstlerpräsentationen" offline-versionen, die dann in Galerien auf "isolierten" Computer präsentiert werden. Da könnte ich mir so einen "Kontexmenüwunsch" gut vorstellen. Ebenso bei "überschaubaren" Intranet-Konstelationen oder einfach bei einem privaten Dokument für die heimische Festplatte.
Fiel mir nur als Ergänzung zu Deinen, wie gesagt, richtigen Kommentaren ein....
Chräcker
Hallo.
Aus Sicht des Designers, der den User nicht verwirren will, soll und darf, sei Euch natürlich uneingeschränkt Recht gegeben.
Es geht aber wirklich um eine spezielle Nutzung.
Denkt mal an den Windows-Explorer: Da habe ich links den tollen Baum. Dort kann ich mit der rechten Maus auf Dateien, Verzeichnisse, Laufwerke u.s.w. klicken und erhalte ein entsprechendes Kontextmenu. Und DAS ist der User durchaus gewohnt. Wenn man nun für ein Content-Management-System ähnliches realisieren will, sieht das mit Look&Feel schon anders aus oder ;-)?
Naja, jedenfalls wird es wohl nicht gehen...
Schade.
Trotzdem danke und -immer wieder-: Die Stempelseite ist intergalaktisch!
Grüße
Jens
Hallo.
Aus Sicht des Designers, der den User nicht verwirren will, soll und darf, sei Euch natürlich uneingeschränkt Recht gegeben.
Es geht aber wirklich um eine spezielle Nutzung.
Denkt mal an den Windows-Explorer: Da habe ich links den tollen Baum. Dort kann ich mit der rechten Maus auf Dateien, Verzeichnisse, Laufwerke u.s.w. klicken und erhalte ein entsprechendes Kontextmenu. Und DAS ist der User durchaus gewohnt. Wenn man nun für ein Content-Management-System ähnliches realisieren will, sieht das mit Look&Feel schon anders aus oder ;-)?
Naja, jedenfalls wird es wohl nicht gehen...
Schade.
Trotzdem danke und -immer wieder-: Die Stempelseite ist intergalaktisch!
Grüße
Jens
Kontextmenüs gibt es schon (allerdings nur IE, ab 5 oder 5.5):
http://www.free-solutions.de/js/rightmouse_personal_ie5x.html
http://www.free-solutions.de/js/rightmouse_personal_ie55.html
Einfach mal die Seiten aufrufen und rechte Maustaste klicken.
Hallo
Okay, ob es nun Sinn macht oder nicht kann man lebhaft diskutieren.
Aber es geht jedenfalls. (Ich hätte eigentlich nicht hier zu posten brauchen ... ;-)
Ich habe den Code von Michael Mailers zum sperren der rechten Maustaste
http://selfhtml.teamone.de/navigation/faq.htm#rechte_maustastehttp://selfhtml.teamone.de/navigation/anzeige/rechte_maustaste.htm
angepasst.
Zu betrachten ist das ganze auf
http://www.musikerring.de/___js/rechte_maus_links.htm
Und falls ich das da mal wieder rausnehme, hier nochmal der Code, damit Archivsucher aus dem Jahre 2015 nicht im Regen stehen:
------------------------------
<html>
<head>
<script type="text/javascript">
<!--
//Dieses Skript stammt von Michael Mailers JavaScripts
//URL: http://www.webaid.de/js -- eMail: mm@webaid.de
//Bitte entfernen Sie diesen Vermerk nicht !
//Das Script ist angepasst von Jens-Holger Hopp
//die entsprechenden Stellen sind mit //jh gekennzeichnet
activeAnchor = false; //jh
if (document.layers){
window.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
window.onmousedown=rightclick;
window.onmouseup=rightclick;
function rightclick(e) {
if (e.which == 3) {
// Put right mouse code here
doRightClick(); //jh
return false;
}
else {
return true;
}
}
}
if (document.all){
function click() {
if (event.button==2) {
doRightClick(); //jh
}
if (event.button==3) {
doRightClick(); //jh
}
}
document.onmousedown=click
}
function setActiveAnchor(myAnchor,flag){ //jh
if(flag==true){
activeAnchor=myAnchor;
} else {
activeAnchor=false;
}
}
function getActiveAnchor(){ //jh
alert('Rechter Mausklick auf '+activeAnchor);
}
function doRightClick(){ //jh
if(activeAnchor == false){
alert('Rechter Mausklick irgendwohin');
} else {
getActiveAnchor();
}
}
// -->
</script>
</head>
<body text="#000000" bgcolor="#cccccc">
<p>Dieses Script reagiert auf Klick mit der rechten Maustaste.<br>
Es unterscheidet Klicks auf einen der drei Links und Klicks irgenwo in die Seite.<br>
(Getestet mit NC4.75 und MSIE5.5)</p>
<p><a href="javascript:alert('Normaler Klick auf Link1');" onMouseOver="javascript:setActiveAnchor(1,true);" onMouseOut="javascript:setActiveAnchor(1,false);">Link 1</a></p>
<p><a href="javascript:alert('Normaler Klick auf Link2');" onMouseOver="javascript:setActiveAnchor(2,true);" onMouseOut="javascript:setActiveAnchor(2,false);">Link 2</a></p>
<p><a href="javascript:alert('Normaler Klick auf Link3');" onMouseOver="javascript:setActiveAnchor(3,true);" onMouseOut="javascript:setActiveAnchor(3,false);">Link 3</a></p>
</body>
</html>
Hallo Jens
zum Thema "ES GEHT" immer wieder empfehlenswert:
http://www.teamone.de/filez/mp3/scheisse.mp3
Und natuerlich der Spruch:
"Stell dir vor es geht und keiner kriegts mit"
viele Gruesse
Stefan Muenz
Hallo Stefan.
Ja, der Sachse ist gut, denn kannte ich schon.
Und zum Spruch: Ich hatte mir halt gedacht, daß meine Überlegung halt nirgens im self-Archiv und auch sonst wo auffindbar ist und es vielleicht andere aus der Kommunität interessieren könnte irgendwann...
Hätte ich es lieber für mich behalten sollen?
[Nachdem ich mich seit Ewigkeiten darüber ärgere (200 Puls), daß die Cursorposition in Textareas nicht auslesbar ist, war ich dann doch ganz froh (100 Puls), zumindest hierfür eine Lösung gefunden zu haben...]
Viele Grüße
Jens
Hallo Jens,
Wenn man bei einem LINK auf die rechte Maustaste klickt, erscheint
ja auch ein Kontextmenu. Aber das ist ein LINK-bezogenes (Öffnen
in neuem Fenster u.s.w.), kein SEITEN-bezogenes.
Kann man auf dieses LINK-bezogene Event auch zugreifen? Wenn es
nicht direkt geht - hat jemand eine Idee, wie es auf Umwegen
gehen könnte? Oder es schonmal versucht?
Ein eigenes Link-Kontextmenü gibts nicht und das browsereigene wirst
Du nicht ändern können. Du kannst es aber unterdrücken und statt
dessen ein eigenes einblenden lassen (siehe Link zum Workshop unten). Den Aufruf wirst Du dann im <a>-Tag einbinden müssen, damit es nicht
bei jedem Drücken der rechten Mousetaste angezeigt wird.
Ich möchte das Kontextmenu für einige Links ersetzen und denke
immer schon: das müsste es doch geben...
Schau Dir mal den Workshop der Internet Professional "Eigenes
Kontextmenü mit DHTML" an:
http://www.vnunet.de/internet-pro/workshops/detail.asp?ArticleID=1343&Topic=Workshops&List=Workshops
viele Grüsse
AK