3 Stimmen

JQuery stoppt das Fettdrucken, Unterstreichen und andere Ereignisse

Ich habe dieses jsFiddle: http://jsfiddle.net/RGmNz/6/

Und habe versucht, STRG + B und STRG + U usw. zu deaktivieren...

  $("iframe").contents().find("body").keydown(function(a,b){

        if(a.which ==32 && a.ctrlKey){
            a.preventDefault(); 
           }
    });
})

Aber der Text wird immer noch fett gedruckt!

3voto

Was du tun musst, ist return false; Mit Keycode-Sachen habe ich immer festgestellt, dass wenn man bestimmte Ereignisse deaktivieren will, man einfach false zurückgeben muss und alles komplett stoppen. (Es wird preventDefault und stopPropagation für dich tun)

Auch gerade bemerkt: Info zu Keycode-Nummern

    // du willst 66 (B) machen
    // mit && weil du nach beiden Ereignissen gleichzeitig suchst

    if (a.which === 66 && a.ctrlKey) {  
       return false;
    }

jsFiddle DEMO

3voto

nnnnnn Punkte 142888

Es funktioniert, wenn Sie zwei Änderungen vornehmen: (1) Verwenden Sie den richtigen Keycode für b, d.h. 66 anstelle von 32, und (2) fügen Sie einen Aufruf zu .stopPropagation() hinzu:

if (a.which == 66 && a.ctrlKey) {
    a.preventDefault();
    a.stopPropagation();
}

Demo: http://jsfiddle.net/RGmNz/7/

Oder Sie können return false verwenden, was dem Äquivalent von sowohl .preventDefault() als auch .stopPropagation() entspricht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X