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