开发者

PreventDefault alternative for IE8

Situation: Trying to modify VideoJS.com in order to work with IE8 and Youtube Chromeless API.

Problem: Progressbar dragging doesn't work (error on event.p开发者_Python百科reventDefault(); 'not supported' according to debug)

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

What I tried: Skip 'preventDefault' when it's IE, but if I do that I'll lose the functionality of the progressbar (drag/click forward and backward)

Question: What is the best way to solve this problem for IE8?


I use something like:

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

the event.returnValue property is the closest IE equivalent to preventDefault.

Using

return false;

can sometimes also work, but it can lead to unexpected behavior sometimes when mixed with e.g. jQuery (jQuery also does stopPropagation...which is usually what you want, but...), so I prefer not to rely on it.


IE8 does not support preventDefault; it has returnValue instead. jQuery should normalize that for you, though. Are you sure you are calling preventDefault on the jQuery event wrapper (and not the actual event object)?


Just use

return false;

it's cross browser and has the same purpose as event.preventDefault();

THe same instruction in jQuery is slightly different, it includes also stopPropagation().


Use

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

jquery docs

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜