我正在尝试触发“loadedmetadata”,这是一个重新创建视频标记的事件(因为我需要原始加载视频的尺寸)。
我已经看过this answer我编写了这个例子:
if (!$("mySelector").addEventListener) {
$("#mySelector").addEventListener("loadedmetadata", function(e){
alert("Fired with addEventListener!");
}, false);
}
else {
$("#mySelector").attachEvent("onloadedmetadata", function(e){
alert("Fired with attachEvent!");
});
}
使用IE8,我有一个漂亮的“对象不支持这个属性或方法”。我在这里做错了什么?
提前致谢。
答案 0 :(得分:1)
您不应该将jQuery与JavaScript方法结合使用。使用.bind()
方法添加loadedmetadata
事件,例如:
$('#myMedia').bind('loadedmetadata', function(e){
// e is Event Object jQuery handles
var ht = $(this).height(), wd = $(this).width();
});
由于IE9标准化.addEventListener()
,IE9之前不存在媒体事件,因此它永远不会用.attachEvent()
触发。这些方法都不是jQuery函数$()
返回的Object的属性。
如果上述解决方案不起作用,您应该看一下: