onEnded 事件未在 dojo 对话框中触发
Posted
技术标签:
【中文标题】onEnded 事件未在 dojo 对话框中触发【英文标题】:onEnded event not firing in dojo dialog 【发布时间】:2012-01-13 11:47:49 【问题描述】:我正在尝试在电影播放完毕时触发一个事件。单击链接并在 dojo 对话框中时会显示该影片。我正在使用标签播放电影,并尝试使用 dojo connect 在电影播放完毕时使用 onEnded 属性显示警报。然而什么也没有发生。关于我的问题的任何想法?代码如下:
dialog = new dijit.Dialog(
content: "<embed id='video' src='http://www.tizag.com/files/html/htmlexample.mpeg' autostart='true' controller='false'/>"
);
dialog.show();
dojo.connect(dojo.byId("video"), "onEnded", function(e)alert(e););
【问题讨论】:
【参考方案1】:通常,现有的 DOM 事件是 lowercased
,dijit 自定义事件是 camelCased
。假设我的搜索正确,绑定到的正确事件是onended
,没有大写的“E”:
Detect when an HTML5 video finishes
dojo.connect(dojo.byId("video"), "onended", function(e)alert(e););
【讨论】:
我尝试了您发布的代码,但仍然无法正常工作。出现对话框,播放视频,但当视频结束时,不会出现警报。 如果不使用dojo.connect会怎样?document.getElementById('video').onended = fucntion() alert('aaa')
不幸的是,这也不起作用。这可能是范围界定问题吗?我应该在对话框内容中定义 dojo.connect 吗?顺便感谢您的帮助。
在进一步测试上述 solon 后,如果视频不是 url(即存储在本地),则不使用 dojo.connect 可以正常工作。这对我来说已经足够好了,所以我要关闭它。非常感谢您的帮助@missingno以上是关于onEnded 事件未在 dojo 对话框中触发的主要内容,如果未能解决你的问题,请参考以下文章
FileSystemWatcher 事件未在 WPF 应用程序中触发