Hier ist mein Code:Javascript keypress Ereignis funktioniert nicht in Firefox
function filter(obj,re) {
if (obj&&obj.tagName.toLowerCase()=="input") {
obj.filter=re;
on(obj,"keypress",function(e) {
if (e.keyCode<32) return true;
if (!(String.fromCharCode(e.keyCode).match(this.filter))) {
e.stopPropagation(); e.preventDefault(); return false;
}
});
}
}
filter(element,new RegExp('[\\w\\d]+'));
Es funktioniert in Google Chrome in Ordnung, aber es funktioniert nicht in Firefox. Was passiert, ist, dass ich dem dom-Element ein keypress-Ereignis hinzufüge, das die Daten basierend auf dem Filter herausfiltert.
In jedem Fall würde jede Hilfe geschätzt werden.
UPDATE
Hier ist die on
Funktion:
function on(obj,evt,func) {
if (obj.addEventListener) obj.addEventListener(evt,func,false);
else obj.attachEvent("on"+evt,func);
}
Bessere Einbuchtung + Fehlerprotokoll + "auf" Körper hilfreich wäre die Funktion. – leaf
Ersetzen Sie 'Regexp' durch' RegExp' (übrigens 'Regexp' funktioniert nicht in Chrome ...). – leaf
@procrastinator Entschuldigung das ist eigentlich RegExp. – slicks1