情况:尝试修改VideoJS.com以使用IE8和Youtube Chromeless API。
问题:进度条拖动不起作用(event.preventDefault()上的错误;根据调试“不支持”)
演示:http://alpha.dealertouch.mobi/video/demo.html
我尝试了什么:当它是IE时跳过'preventDefault',但如果我这样做,我将失去进度条的功能(向前和向后拖动/点击)
问题:解决IE8此问题的最佳方法是什么?
答案 0 :(得分:29)
我用的是:
(event.preventDefault) ? event.preventDefault() : event.returnValue = false;
event.returnValue
属性是最接近等同于preventDefault
的IE。
使用
return false;
有时也可以起作用,但有时与...混合会导致意外行为。 jQuery(jQuery也会stopPropagation
... 通常你想要什么,但是...),所以我不想依赖它。
答案 1 :(得分:5)
IE8不支持preventDefault
;它改为returnValue
。不过,jQuery应该为你规范化。您确定要在jQuery事件包装器(而不是实际的事件对象)上调用preventDefault
吗?
答案 2 :(得分:1)
只需使用
return false;
它是跨浏览器,与event.preventDefault();
具有相同的目的jQuery中的相同指令略有不同,它还包括stopPropagation()。
答案 3 :(得分:-1)