11

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

问题:进度条拖动不起作用(event.preventDefault() 上的错误;根据调试“不支持”)

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

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

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

4

4 回答 4

29

我使用类似的东西:

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

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

使用

return false;

有时也可以工作,但有时与 jQuery 混合会导致意外行为(jQuery 也可以stopPropagation......这通常是你想要的,但是......),所以我不想依赖它。

于 2011-12-09T19:10:57.490 回答
5

IE8 不支持preventDefaultreturnValue相反,它有。不过,jQuery 应该为您规范化。您确定要调用preventDefaultjQuery 事件包装器(而不是实际的事件对象)吗?

于 2010-12-12T15:29:58.693 回答
1

只需使用

return false;

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

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

于 2011-05-31T13:41:34.233 回答
-1

利用

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

jQuery 文档

于 2011-01-20T20:07:24.060 回答