PreventDefault-Alternative für IE8

Lesezeit: 1 Minute

PreventDefault Alternative fur IE8
MeProtozoan

Lage: Versuch, VideoJS.com zu ändern, um mit IE8 und Youtube Chromeless API zu arbeiten.

Problem: Fortschrittsbalken ziehen funktioniert nicht (Fehler bei event.preventDefault(); ‘nicht unterstützt’ laut Debug)

Demo: http://alpha.dealertouch.mobi/video/demo.html

Was ich versucht habe: Überspringe ‘preventDefault’, wenn es IE ist, aber wenn ich das tue, verliere ich die Funktionalität der Fortschrittsleiste (Ziehen/Klicken nach vorne und hinten)

Frage: Was ist der beste Weg, dieses Problem für IE8 zu lösen?

Ich verwende sowas wie:

(event.preventDefault) ? event.preventDefault() : event.returnValue = false; 

das event.returnValue Eigenschaft ist das nächste IE-Äquivalent zu preventDefault.

Verwenden von

return false;

kann manchmal auch funktionieren, kann aber manchmal zu unerwartetem Verhalten führen, wenn es mit z. B. jQuery gemischt wird (jQuery funktioniert auch stopPropagation…welches ist meistens was du willst, aber…), also verlasse ich mich lieber nicht darauf.

IE8 unterstützt nicht preventDefault; es hat returnValue stattdessen. jQuery sollte das jedoch für Sie normalisieren. Bist du sicher, dass du anrufst preventDefault auf dem jQuery-Ereigniswrapper (und nicht auf dem tatsächlichen Ereignisobjekt)?

Benutz einfach

return false;

es ist browserübergreifend und hat den gleichen Zweck wie event.preventDefault();

Dieselbe Anweisung in jQuery ist etwas anders, sie enthält auch stopPropagation().

  • Eine Einschränkung dieses Ansatzes finden Sie unter stackoverflow.com/questions/1357118/….

    – Bungle

    20. Januar ’14 um 21:46

Benutzen

$('.selector').click(function(event) {event.preventDefault();

jquery docs

.

485260cookie-checkPreventDefault-Alternative für IE8

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy