Fancybox在iframe中显示pikachoose图像查看器。键盘键用于在初始加载时在图像之间导航,键被忽略。只有在fancybox中单击时,关键点才会起作用。我添加了
$('.pikachoose').focus();但这并不能启用密钥。如果打开了iframe,如何让密钥立即生效?
iframe内容为:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" <html>
<head>
<link type="text/css" href="Pikachoose/bottom.css" rel="stylesheet" />
<script type="text/javascript" src="jquery.min.js"></script>
<script src="Pikachoose/jquery.pikachoose.full.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#pikame").PikaChoose({
autoPlay: false
});
$("html").keydown(function (evt) {
$('#pikame').data('pikachoose').Next();
});
// why this does not allow keydown event:
$('.pikachoose').focus();
});
</script>
</head>
<body>
<div class="pikachoose">
<ul id="pikame">
<li>
<img src="img1" />
</li>
<li>
<img src="img2" />
</li>
<li>
<img src="img3" />
</li>
</ul>
</div>
</body>
</html>发布于 2012-03-17 05:01:58
您的jQuery选择器是用于id的,而不是类的。
将javascript更改为$(".pikachoose").focus()或将class="pikachoose"更改为id="pikachoose"。
编辑:
通常不能聚焦任意元素,比如div。但是有一种可能行得通的伪技巧:将tabindex放在元素上。可以使用-1来防止跳转时不需要的干扰。因此,要么将tabindex="-1"放在div中,要么将$(".pikachoose").attr("tabindex", -1).focus()放入代码中。
https://stackoverflow.com/questions/9744427
复制相似问题