Wordpress附件页面使用键盘导航

时间:2016-08-22 15:03:56

标签: wordpress mousetrap

我正在使用WordPress。

我想使用键导航我的附件页面。

这是我的代码,但不起作用;



function GoToLocation(url)
  {
    window.location = url;
  }

  Mousetrap.bind("j", function() {
    //alert('j pressed' + document.getElementById("next").href);
    //document.getElementById("next").click();
    window.location=<?php echo $image->next_image_link ?>;
  });
&#13;
<script src="https://craig.global.ssl.fastly.net/js/rainbow-custom.min.js?39e99"></script>
<script src="https://craig.global.ssl.fastly.net/js/mousetrap/mousetrap.js?bc893"></script>
&#13;
&#13;
&#13;

如果我改变了

window.location=<?php echo $image->next_image_link ?>;

到这个

window.location="http://mylink.com";

脚本运行良好。但是我不能使用基于WordPress的链接(比如 next_image_link();

我该怎么办?

2 个答案:

答案 0 :(得分:0)

window.location=<?php echo $image->next_image_link ?>;替换为 window.location="<?php echo $image->next_image_link ?>";。您的字符串声明无效,因此无法正常工作。

PHP不会使用引号回显链接。

编辑:Wordpress不会仅打印URL。它打印链接元素。所以解决方案将是

  1. 绑定到现有导航
  2. 使用正则表达式来切断htmt语法

    var element = '<?php echo $image->next_image_link ?>'; window.location = element.match(/href="([^"]*)/)[1];

答案 1 :(得分:0)

我做了自己,

首先将此添加到顶部

&#13;
&#13;
<script src="https://craig.global.ssl.fastly.net/js/rainbow-custom.min.js?39e99"></script>
<script src="https://craig.global.ssl.fastly.net/js/mousetrap/mousetrap.js?bc893"></script>
&#13;
&#13;
&#13; 然后添加此脚本

function GoToLocation(url)
  {
    window.location = url;
  }
  Mousetrap.bind("right", function() {
document.getElementById('next-page').click();
  });



function GoToLocation(url)
  {
    window.location = url;
  }
  Mousetrap.bind("left", function() {
document.getElementById('prev-page').click();
  });

最后,放下&#34; next-page&#34; ,&#34; prev-page&#34; ID到链接标记的位置 例如;

<a id="next-page"></a>

<a id="prev-page"></a>

因此,当您按左或右键盘按钮时,脚本将正常工作。见你