我是Javascript/jQuery的新手,我正在尝试为HTML5视频播放制作一个播放按钮。到目前为止我的代码:
//return a jQuery object
var video = $('#myVideoTag');
//Play/Pause control clicked
$('.btnPlay').on('click', function() {
if(video[0].paused) {
video[0].play();
}
else {
video[0].pause();
}
return false;
});
我不断收到此错误:
$(".btnPlay").on is not a function
[Break On This Error]
$('.btnPlay').on('click', function() {
我一辈子都无法弄清楚出了什么问题。我在页面上正确定义了 .btnPlay 类。我正在遵循一个教程,该教程似乎使用相同的方法,没有任何问题。有什么想法吗?
方法on
是在jQuery版本1.7中引入的。
我认为你必须将你的jQuery库升级到最新版本。
否则,您可以使用bind
:
$('.btnPlay').bind("click", function() {
// ...
});
或其快捷方法click
:
$('.btnPlay').click(function() {
// ...
});
从 jQuery 1.7 开始,.delegate()
已被 .on()
方法取代。但是,对于早期版本,它仍然是使用事件委派的最有效方法.delegate()
。
另一种选择是.live()
,但自 1.7 版以来已弃用。旧版本的jQuery的用户应该优先使用.delegate()
而不是.live()
。
旧版本的 javascript 上 .on 方法的替代方法是 .delegate。您应该在父元素上使用.delegate('.btnPlay', 'click', function(){...})
以具有相同的功能