IE8的PreventDefault替代方案

情况 :尝试修改VideoJS.com以使用IE8和Youtube Chromeless API。

问题 :进度条拖动不起作用(event.preventDefault()出错;根据调试,’不支持’)

演示 : http : //alpha.dealertouch.mobi/video/demo.html

我尝试了什么 :当它是IE时跳过’preventDefault’,但如果我这样做,我将失去进度条的function(向前和向后拖动/点击)

问题 :解决IE8此问题的最佳方法是什么?

我使用类似的东西:

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

event.returnValue属性是与preventDefault等效的最接近的IE。

运用

 return false; 

有时也可以工作,但它有时会导致意想不到的行为,例如jQuery(jQuery也做stopPropagation ……这通常是你想要的,但是……),所以我宁愿不依赖它。

IE8不支持preventDefault ; 它有returnValue而不是。 不过,jQuery应该为你规范化。 您确定要在jQuery事件包装器(而不是实际的事件对象)上调用preventDefault吗?

只是用

 return false; 

它是跨浏览器,与event.preventDefault()具有相同的目的;

jQuery中的相同指令略有不同,它还包括stopPropagation()。

使用

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

jquery docs