问题- playStateChange, Mediaplayer对象IE9 ..试图让Jquery bind()在这个事
Javascript / Jquery Problem with - playStateChange , Mediaplayer object IE9 ... trying to make Jquery bind() work on this event ...Read On
问题就在这里....
我首先试图排除是否使用flash播放器,html5播放器或媒体播放器为这个客户端.....HTML5似乎是提供实现插件免费,所以我决定选择退出Flash ....考虑走HTML5路线……一切都好……做了一个很好的播放器,它也是跨浏览器的,并且很好地照顾了编解码器,但是哎呀……意识到html5不能流化ASX…所以又回到了旧的Windows mediaplayer路线....我别无选择....
我放了一个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()也可以方便地分离事件…
多谢艾尔。
根据此站点绑定wmp-plugin与javascript库,如jQuery将无法工作,因为缺少on
前缀(将读取"onPlayStateChange"),这通常是前缀所有事件名称
如果这是真的,那么你需要继续使用attachEvent
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- Replacing jQuery.bind with jQuery.on
- jQuery change()和bind(“change”)不起作用
- jQuery.bind或.on习惯于绑定到新记录
- Jquery bind 事件没有响应
- jQuery’s .bind() vs. .on()
- jQuery bind()-如果LI点击事件触发,则阻止HTML点击事件触发
- jQuery off() and bind(this)
- Javascript:正在使用Jquery's bind()比简单地执行onclick='bla()
- 如何将bind()pass-through(to on())转换为delegate()-就像jQuery 1.7.1代码
- 可以是bind()/on()/live(),jQuery的事件的完整列表
- jquery .bind 或 .change 以填充 Calendar OnClick 中的 span 标记值
- 是否有一个名为 bind 的 JavaScript 或 jQuery 事件
- jQuery .bind() 不会更新 1.9.1 中的值
- 在 jQuery / Javascript 中的 bind() 事件之后执行条件
- cfselect bind and jquery on events clashing
- jquery on() 总是比 bind() 好
- jQuery.proxy vs. underscore.bind
- Jquery bind 不适用于 AJAX 加载的内容
- 如何检查以下 JQuery .bind() 中控制参数的值