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