jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Javascript / Jquery问题 – playStateChange,Mediaplayer对象IE9 …试图让Jquery bind()处理这个事件…继续阅读大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
好了,现在问题出在这里……

我首先试图排除是否为这个客户端使用flash播放器,html5播放器或媒体播放器….. HTML5似乎提供免费插件的实现,所以我决定选择退出Flash ….正在虑HTML5路线…一切都很好……做了一个很好的播放器,它也是跨浏览器并且好好照顾编解码器但是oops …实现了html5无法传输ASX …所以它回到了旧的Windows媒体播放器路线….我没有真正的选择….

我放了一个javascript函数,它只是一个警报,应该在媒体播放器改变状态时触发(比如播放你暂停它….)

function WMP_status()
{
   alert("state Changed");
}

我在html页面上嵌入了一个媒体播放器对象,我在javascript中创建了一个别名,以编程方式访问该对象并通过javascript获得对它的控制……就像这样….

var WMP=document.getElementById("mediaplayer");

然后轮到了捕捉媒体播放器的状态…所以我需要某种形式的活动…所以我注册了这样的活动….并且工作得很好……

WMP.attachEvent("playStateChange",WMP_status);
// Note ...  WMP.detachEvent("playStateChange",WMP_status); ... doesn't always detach events...

我在IE中没有分离的事件的问题仍然存在(去图),但令我惊讶的是,我发现ie9 …. addEventListener应该也包含在javascript支持的一部分所以我尝试了以下行应该显然代表上述但没有快乐…..

WMP.addEventListener("playStateChange",WMP_status,falsE);

我可能认为addEventListener还没有在IE9中正确实现,所以我试着像这样使用JQuery bind()方法….但仍然没有快乐….

$(WMp).bind("playStateChange",WMP_status);

我也试过这两个变种

(a)仍然没有快乐……

$(WMp).bind("playStateChange","WMP_status");

(b)仍然没有快乐…..

$(WMp).bind("playStateChange",function(){WMP_status()});

我试过这些以消除各种各样的可能性……在jquery网站上没有关于我是否可以输入函数名称的信息……所以我也试过放入一个匿名的…

无论如何…我真的更喜欢使用Jquery机制进行事件处理,特别是因为它更多的是跨浏览器…有谁可以请帮助我这个?我也采用了这种动态附加事件的路径,因为我将通过jquery添加/删除元素…而remove()也可以方便地分离事件…

非常感谢

解决方法

根据这个 site绑定到wmp-plugin与jQuery库jQuery将无法工作,因为前缀缺失(将读取“onPlayStateChange”),这通常是所有事件名称的前缀.

像jQuery这样的库在帐户中采用该规则…并实际注册到不存在的事件.

如果这是真的那么你需要继续使用attachEvent

大佬总结

以上是大佬教程为你收集整理的Javascript / Jquery问题 – playStateChange,Mediaplayer对象IE9 …试图让Jquery bind()处理这个事件…继续阅读全部内容,希望文章能够帮你解决Javascript / Jquery问题 – playStateChange,Mediaplayer对象IE9 …试图让Jquery bind()处理这个事件…继续阅读所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。