Mein Firefox macht aus jeder Seite eine einzige Textarea
Engin
- browser
Hi,
schon seit Tagen jetzt verhält sich mein FF recht Merkwürdig, wenn ich in irgendeine Website
reinklicke, verhält sich der Browser wie in einer Textarea, ich bekomm dann dieses Blinkende etwas, das man aus
der Textarea kennt mitten in der Seite angezeigt, je nachdem, wo man grad geklickt hat.
Ist das ein neuer bug oder spinnt mein Rechner?
Grüße aus H im R,
Engin
echo $begrüßung;
[...] wenn ich in irgendeine Website reinklicke, verhält sich der Browser wie in einer Textarea, ich bekomm dann dieses Blinkende etwas, das man aus der Textarea kennt mitten in der Seite angezeigt, je nachdem, wo man grad geklickt hat.
Das blinkende Etwas nennt sich Text-Cursor. Du kannst ihn mit der Einstellung "Markieren von Text über die Tastatur zulassen" aus der Erweitert-Seite des Einstellungen-Dialog ein- und ausschalten.
echo "$verabschiedung $name";
Hi dedlfix,
Das blinkende Etwas nennt sich Text-Cursor. Du kannst ihn mit der Einstellung "Markieren von Text über die Tastatur zulassen" aus der Erweitert-Seite des Einstellungen-Dialog ein- und ausschalten.
Danke, das war es. Hatte mir das wohl vor ein Paar Tagen so eingestellt und völlig vergessen.
Grüße aus H im R,
Engin
Hallo Engin,
Danke, das war es. Hatte mir das wohl vor ein Paar Tagen so eingestellt und völlig vergessen.
Lässt sich übrigens auch mit F7 (unbeabsichtigt) an- und abstellen.
Jonathan
Hi,
ich mach die letzten Tage vermehrt mit Javascript rum und traf immer wieder auf die Hürde Onload, mit dem
die verschiedenen Funktionen aufgerufen werden.
Jetzt hab ich ein Script gefunden mit dem das ganze kein Problem mehr zu sein scheint, soweit ich das jetzt beurteilen kann, es gibt keine Fehlermeldungen
und alles funktioniert wie es soll.
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
}
}
}
addLoadEvent(LadeInfo);
addLoadEvent(setup);
Kann ich das Script Sorglos weiter verwenden?
Grüße aus H im R,
Engin
Kann ich das Script Sorglos weiter verwenden?
Nein. Das Skript speichert nur eine Referenz auf die Funktion, d.h. beim dritten Aufruf wird die erste Funktion nicht mehr aufgerufen. Es gibt ausgereiftere Event Funktionen. Die Sache zu lösen ist aber nicht so einfach. Es gibt zum Thema zahlreiche Seiten und Diskussionen im Internet, such mal nach addEvent oder addEventListener
Struppi.
Hi Struppi,
Nein. Das Skript speichert nur eine Referenz auf die Funktion, d.h. beim dritten Aufruf wird die erste Funktion nicht mehr aufgerufen.
Wie darf ich das verstehen?
Es gibt ausgereiftere Event Funktionen. Die Sache zu lösen ist aber nicht so einfach. Es gibt zum Thema zahlreiche Seiten und Diskussionen im Internet, such mal nach addEvent oder addEventListener
Danke für den Hinweis, das werde ich gleich machen.
Grüße aus H im R,
Engin
Hi Struppi,
Die Sache zu lösen ist aber nicht so einfach. Es gibt zum Thema zahlreiche Seiten und Diskussionen im Internet, such mal nach addEvent oder addEventListener
So, hab jetzt nach einer Menge Englisch Sprachiger Seiten endlich eine Deutsch Sprachige gefunden,
und dort dann folgendes Script
function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}
addEvent(window, 'load', LadeInfo);
addEvent(window, 'load', setup);
In wie fern eignet sich dieses Script? Wie löst du dieses Problem?
Grüße aus H im R,
Engin
Hallo,
function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}
addEvent(window, 'load', LadeInfo);
addEvent(window, 'load', setup);
>
> In wie fern eignet sich dieses Script?
Kommt auf den Zweck an.
Zuerst hast du hier ein Script gepostet, was mehrere Funktion beim onload ausführen soll. Das Prinzip kann man natürlich ausdehnen, aber dessen Einsatzbereich ist erst einmal begrenzt.
Das obige Script ist für jedes Event-Handling gedacht. Es ist durchaus tauglich für gewisse Anwendungen. Es hat aber einige Probleme, die dazu geführt haben, dass es einen [Wettbewerb zur Überarbeitung](http://www.quirksmode.org/blog/archives/2005/09/addevent_recodi.html) gab.
Für mich ist das wirklich schwerwiegende Problem bei der obigen Vorgehensweise, dass bei der Verwendung von attachEvent die Handler-Funktion nicht im Kontext des Elementobjektes ausgeführt wird, an dem es hängt. Das kann man aber einfach umgehen durch eine Closure und einem ausdrücklichen Kontextwechsel mit [call](http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Function:call):
`.attachEvent(..., function () { fn.call(obj); } )`{:.language-javascript}
Darüber hinaus hat man u.U. weitere Anforderungen, die obige Funktion nicht abdeckt, z.B. das Entfernen von Handlern und das Nivellieren von anderen IE-Unzulänglichkeiten. Zu diesem Zweck gibt es natürlich fünfhundert Scripte, und die bekannten Bibliotheken jQuery, Prototype, Yahoo UI usw. bringen selbst sehr ausgereiftes Event-Handling mit. Für den Alltagsgebrauch, wenn man keine große Bibliothek verwendet, reicht aber auch [Dean Erwards Script](http://dean.edwards.name/my/events.js).
[John Resigs addEvent](http://ejohn.org/projects/flexible-javascript-events/) hatte zwar den Wettbewerb gewonnen, aber es hat [ein kleines Problem](http://my.opera.com/hallvors/blog/show.dml/1665828), weshalb ich für es ziemlich problematisch halte.
Mathias
--
[SELFHTML aktuell Weblog](http://aktuell.de.selfhtml.org/weblog/)
Hi molily,
Das obige Script ist für jedes Event-Handling gedacht. Es ist durchaus tauglich für gewisse Anwendungen. Es hat aber einige Probleme, die dazu geführt haben, dass es einen Wettbewerb zur Überarbeitung gab.
Alle von dir verlinkten Seiten hatte ich im laufe der nacht besucht, nur versteh ich da nicht
gerade viel, beschäftige mich erst seit ein zwei Wochen mit Javascript.
Ziel war Anfangs nur einige Funktionen auf einer Seite gleichzeitig zum laufen zu bringen,
das grösste Problem stellte die Greybox da, sobald ich was mit
onload hatte lief das ding nicht mehr.
Für den Alltagsgebrauch, wenn man keine große Bibliothek verwendet, reicht aber auch Dean Erwards Script.
Dieses Script habe ich jetzt eifach so wie es ist eingebunden und es funktioniert fast alles wie von selbst. :)
nur die Funktion
function setup() {
var len = document.images.length;
for(var i = 0; i < len; ++i)
{
assignEvent(i);
}
}
function assignEvent(index) {
document.images[index].onmouseout = mOut;
document.images[index].onmouseover = mOver;
}
function mOut() {
this.style.border = "1px solid #b5b5b5";
}
function mOver() {
this.style.border = "1px solid #fff";
}
funktioniert nicht, das ist aber halb so Wild, da finde ich bestimmt noch was anderes, zumal es nicht mal wichtig ist.
Danke für den Link.
Grüße aus H im R,
Engin
Hallo,
Das Skript speichert nur eine Referenz auf die Funktion, d.h. beim dritten Aufruf wird die erste Funktion nicht mehr aufgerufen.
Das stimmt nicht. Es wrappt speichert die bestehende Funktion in einer lokalen Variable und erzeugt dann eine Closure, die später noch Zugriff auf diese Variable hat. Und diese bestehende Funktion wird dann ausgeführt, danach die neu übergebene.
Ruft man die Funktion mehrfach auf, wrappt sie die gegenwärtige onload-Funktion immer wieder durch eine Closure, ad infinitum.
Am Ende kommt dann so eine Verschachtelung heraus (ist nur eine Veranschaulichung):
window.onload = function () {
(function () {
(function () {
f1();
f2();
})();
f3();
})();
f4();
// usw.
};
Es gibt ausgereiftere Event Funktionen.
Ja.
Mathias