IE8 的 PreventDefault 替代方案

发布于 2024-10-07 20:57:57 字数 458 浏览 7 评论 0原文

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

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

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

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

问题:解决 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.preventDefault(); '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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

傲娇萝莉攻 2024-10-14 20:57:57

我使用类似的东西:

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

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

使用

return false;

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

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.

蓝梦月影 2024-10-14 20:57:57

IE8不支持preventDefault;它有 returnValue 相反。不过,jQuery 应该为您标准化这一点。您确定在 jQuery 事件包装器(而不是实际的事件对象)上调用 preventDefault 吗?

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)?

单身狗的梦 2024-10-14 20:57:57

只需使用

return false;

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

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

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().

苦妄 2024-10-14 20:57:57

使用

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

jquery 文档

Use

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

jquery docs

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文