我是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。我正在遵循一个似乎使用相同方法而没有问题的教程。有什么想法吗?
答案 0 :(得分:8)
方法on
是在jQuery 1.7版本中引入的。
我认为你必须将你的jQuery库升级到newest version。
否则,您可以使用bind
:
$('.btnPlay').bind("click", function() {
// ...
});
或其快捷方式click
:
$('.btnPlay').click(function() {
// ...
});
答案 1 :(得分:1)
从 jQuery 1.7 开始,.delegate()
已被.on()
方法取代。但是,对于早期版本,它仍然是使用事件委派 .delegate()
的最有效方法。
另一种选择是.live()
,但是因为1.7版已被弃用。旧版jQuery的用户应优先使用.delegate()
{。{1}}。
答案 2 :(得分:0)
旧版javascript上的.on方法的替代方法是.delegate。您应该在父元素上使用.delegate('.btnPlay', 'click', function(){...})
来具有相同的功能