2016-08-22 98 views
0

我使用的是WordPress。WordPress的附件頁面導航鍵盤

我想導航我的附件頁left and right key。

這是我的代碼,但不工作;

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

我該怎麼辦?

回答

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

最後,把「下頁」,「上一頁頁的」 ID例如向鏈接標籤 的位置;

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

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

所以,當你向左或向右按​​下鍵盤按鍵,腳本將工作做好。請參閱亞

0

window.location=<?php echo $image->next_image_link ?>;替換爲 window.location="<?php echo $image->next_image_link ?>";。您的字符串聲明無效,因此無法工作。

PHP不引用帶引號的鏈接。

編輯:WordPress的不打印只是網址。它打印鏈接元素。因此,該解決方案將是

  1. 綁定到現有的導航
  2. 使用正則表達式來切斷HTMT語法

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

+0

感謝您的幫助,但是當我用編輯的代碼按「j」時,頁面正在重新加載相同的URL。 – ceylankral

+0

我做了一個編輯,現在應該沒問題。 – pr0gramist