php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.06.2007, 19:36  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard JS: dynamisches Event per String definieren

Hallo, ich suche eine Möglichkeit, die nachfolgende switch Anweisung durch ein gleichwertiges, auf die String-Variable sEvent bezogenes Pendant zu ersetzen:
Code:
  switch (sEvent.toLowerCase())
    {
    case 'mouseup':
      var mOldEvent = oElement.onmouseup;
      oElement.onmouseup = function () 
        {
        if (mOldEvent) mOldEvent ();
        toggleDivArea (sTarget);
        }
      break;

    case 'mousedown':
      var mOldEvent = oElement.onmousedown;
      oElement.onmousedown = function ()  
        {
        if (mOldEvent) mOldEvent ();
        toggleDivArea (sTarget);
        }
      break;
    ...
    }
Hintergrund: Ich möchte über sEvent eine dynamische Angabe machen können, welches Event-Attribut um den Aufruf von | toggleDivArea (sTarget); | erweitert wird.
Kurz, ich suche ein kürzere Variante, statt alle on... hier per switch case definieren zu müssen.
oElement ist der per document.getElementById ermittelte DOM Objekt-Bezug.

Bisherige Versuche:

Code:
oElement['mouseup']
Code:
oElement.events['mouseup']
Code:
oElement.getAttribute () und oElement.setAttribute ()
Die letzte Lösung kommt dem schon nahe, liefert aber ein anderes Ergebnis und die Zuweisung der Funktion bekomme ich darüber auch nicht hin (wahrscheinlich, weil sich setAttribute mehr auf den string-Inhalt des Attributs bezieht ?).

Vielleicht hat ja jemand etwas mehr Ahnung von JS, vielleicht gibts dafür aber auch keine Lösung.
Gruß und Dank --n
nikosch ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.06.2007, 20:21  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ok, hatte wohl den falschen Suchansatz. Habe hier mit dem addEventListener und seiner Umschiffung für den IE-extrawurst wahrscheinlich eine Lösung gefunden:

http://www.mediaevent.de/javascript/event_listener.html
nikosch ist offline   Mit Zitat antworten
Alt 15.06.2007, 00:29  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

ich bin mit nicht ganz sicher, ob ich dich 100% verstanden habe, aber ich versuche solche problemen mit eval() zu löschen
Code:
<div id='test'>TEST</div>
<script>
function blums(){alert('das ist es');}
var einevariable='click';//analog zu sEvent.toLowerCase()
var was=document.getElementById('test');
eval('was.on'+einevariable+'=blums');
</script>
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 15.06.2007, 00:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

eval () ist bei mir so verpönt, dass ich da gar nicht dran gedacht habe! Wie gesagt, ich habe eine Lösung über addEventListener/attachEvent gefunden. Eine konkrete Anwendung habe ich in meinem aktuellen Tutorial beschrieben.
nikosch ist offline   Mit Zitat antworten
Alt 15.06.2007, 03:36  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

So ganz verstehe ich nicht, was das Skript machen soll.
Zergling-new ist offline   Mit Zitat antworten
Alt 15.06.2007, 14:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Welches, das im Tut? Oder das Event Listener Script?
Zum letzteren:
Ich möchte dynamisch ein Event zuweisen können, ohne das Script ändern zu müssen. Z.B. so:
(Event im Setting definiert)

Code:
var Event = 'mouseup';
initToggleDiv (Event);
oder sogar so
(Event als Attribut im Quellcode angegeben)

Code:
<p class="ToggleDiv" Event="mouseup">Schalte mit mir</p>
<div>Schalte mich aus</div>
Ohne die Funktion müßte ich immer objekt.onmousedown = function schreiben und diesen Code ändern. So habe ich aber ein flexibles Modul, das ich in diversen html Dateien einbinden kann und habe trotzdem noch die Möglichkeit unterschiedl. Maus-Events zu nutzen.
Ein zusätzlicher Vorteil ist, dass alte Maus-Events nicht überschrieben sondern ergänzt werden. Hab ich z.B. schon nen Hover-effekt für den IE über JS zugewiesen, kann ich das selbe Element zusätzlich noch zum Schalten eines Infofeldes verwenden, und das über das gleiche Ereignis.
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Event abfangen Ambience JavaScript, Ajax und mehr 4 30.08.2007 14:36
String in Array als Integer definieren cyberholic PHP-Fortgeschrittene 2 01.12.2006 20:29
String auslesen Shaira PHP Tipps 2006 11 01.12.2006 17:52
String in Datenbank finden Pimbolie1979 Datenbanken 11 13.10.2006 15:37
In allen Spalten nach String suchen Jacks Rache Datenbanken 0 05.08.2005 20:15
In allen Tabellen nach String suchen Jacks Rache Datenbanken 0 05.08.2005 11:18
String in allen Spalten suchen Jacks Rache Datenbanken 0 05.08.2005 09:43
Alle Spalten nach String durchsuchen Jacks Rache Datenbanken 0 05.08.2005 09:41
string -> int, nur wenn string zahl ist PHP Tipps 2005-2 3 06.06.2005 12:33
where string von einer funktion zu anderen transportieren PHP Tipps 2005 5 03.03.2005 16:29
Kleines Problem mit einem String... MortakArtos PHP Tipps 2005 2 24.01.2005 10:42
String suchen und tauschen PHP Tipps 2005 13 08.01.2005 22:00
[Erledigt] String mit Leerzeichen auffüllen HTML, Usability und Barrierefreiheit 2 27.10.2004 18:47
[Erledigt] probleme mit event datenbank Datenbanken 1 04.09.2004 00:30
bekomme string nicht in mysql-tabelle PHP Tipps 2004 6 26.07.2004 11:35

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
onmouseup dynamisch aendern, dynamische event-zuweisung, durchsuchen datenbank ereignis, javascript event selbst definieren, javascript event as string, strings definieren in js, js dynamische events, javascript ereignisse dynamisch zuweisen, js string definieren, event string js, eigenes event in javascript definieren, js für alle strings neue funktion definieren, javascript events definieren, javascript zuweisung event per funktion, events per javascript definieren, ereignis definieren js, funktion dynamisch definieren javascript, javascript text dynamisch überschreiben per button, vevent from string, javascript events dynamisch festlegen

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:04 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.