我正在尝试为 iBooks 电子书创建交互式词汇表:每次单击术语时,定义都会显示在页面末尾。您可以通过再次单击术语或单击另一个术语来隐藏定义。在这种情况下,有两个术语。我用过 jQuery,在 Safari、Google Chrome 和 Mozilla Firefox 上似乎一切正常。但是,它在桌面版 iBooks 中无法正常工作(它在 iPad 版 iBooks 中按预期工作),您只能打开一次定义,而不能隐藏它们。
有什么问题?
我使用的代码是:
$(document).ready(function () {
$('a').on('touchstart click', function (e) {
e.preventDefault();
$current = $($(this).attr('href'));
if ($current.hasClass('hide')) {
resetLabels();
$current.removeClass('hide').addClass('show');
} else if ($current.hasClass('show')) {
resetLabels();
$current.removeClass('show').addClass('hide');
} else {
resetLabels();
}
function resetLabels() {
$current.siblings().removeClass('show').addClass('hide');
}
});
});