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>
答案 0 :(得分:1)
您的jQuery选择器用于id,而不是类。
将您的javascript更改为$(".pikachoose").focus()
或将class="pikachoose"
更改为id="pikachoose"
。
编辑:
您通常无法聚焦任意元素,例如div。但是有一个伪hack可能会起作用:在元素上放置一个tabindex。您可以使用-1来防止对标签的不必要干扰。因此,要么将tabindex="-1"
放在该div上,要么将$(".pikachoose").attr("tabindex", -1).focus()
放在代码中。