我在我的网站上使用Camera jQuery slideshow,但它无法用我需要的键盘控制。在他们的谷歌小组中,有人发布了上一个/下一个命令,但是我仍然需要暂停/恢复键盘按钮才能工作(在我的情况下,我正在使用空格键)。我需要输入什么才能让.camera_play也被空格键控制?这甚至可能吗?
以下是与问题相关的代码:
$(document.documentElement).keyup(function (event) {
// handle cursor keys
if (event.keyCode == 37) {//go left
$('.camera_prev').click();
} else if (event.keyCode == 39) { //go right
$('.camera_next').click();
} else if(event.keyCode == 32) { // spacebar to stop
$('.camera_stop').click();
答案 0 :(得分:0)
在了解相机插件的工作原理后,您可以使用:visible
选择器点击当前有效的操作(可能是停止或恢复),如下所示:
$(document.documentElement).keyup(function (event) {
// handle cursor keys
if (event.keyCode == 37) {//go left
$('.camera_prev').click();
} else if (event.keyCode == 39) { //go right
$('.camera_next').click();
} else if(event.keyCode == 32) { // spacebar to stop
$('.camera_stop , .camera_play').filter(':visible').click();
}
});
答案 1 :(得分:0)
文档没有显示这一点,但我挖掘了代码,看起来当你单击停止按钮时,它会向主包装器添加一个名为'paused'的类。以下是更新代码以处理暂停和空格键开始的方法。
$(document.documentElement).keyup(function (event) {
// handle cursor keys
if (event.keyCode == 37) {//go left
$('.camera_prev').click();
} else if (event.keyCode == 39) { //go right
$('.camera_next').click();
} else if(event.keyCode == 32) { // spacebar to stop
if($('.camera_wrap').hasClass('paused')){
$('.camera_play').click();
}
else{
$('.camera_stop').click();
}
}
}