0

我正在使用 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 ?>;
  });
<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>

如果我改变它

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

对此

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

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

我能做些什么?

4

2 回答 2

0

我自己做的,

首先将此添加到顶部

<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>
然后也添加这个脚本

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();
  });

最后,将 "next-page" 、 "prev-page" ID 放在链接标签的位置,例如;

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

或者

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

因此,当您按下左或右键盘按钮时,脚本将运行良好。再见

于 2016-08-23T10:55:14.410 回答
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];

于 2016-08-22T15:13:13.000 回答