2011-09-04 2 views
5

मैं पिछला और अगले लिंक के साथ एक पृष्ठ है:नेविगेट बाईं का उपयोग कर = अगले और rel = पिछला पेज rel करने के लिए और सही तीर

<link rel="prev" href="http://camera.phor.net/cameralife/photos/11096&#63;referer=index.php"> 
<link rel="next" href="http://camera.phor.net/cameralife/photos/5679&#63;referer=index.php"> 

क्या यह संभव है उपयोगकर्ता प्रेस यदि वाम इन कड़ियों नेविगेट करने के लिए जावास्क्रिप्ट का उपयोग करने के तीर या दायां तीर? लिंक सक्रिय नहीं होना चाहिए यदि वे टेक्स्ट संपादित कर रहे हैं और बाएं या दायां तीर दबाया जाता है।

इसका उपयोग कई छवि पृष्ठों को देखने में आसान बनाने के लिए किया जाएगा।

उत्तर

4

jQuery के बिना: http://jsfiddle.net/UXPLt/1/

document.onkeyup = function(e) { // key pressed 
    if(document.activeElement.nodeName === "INPUT" 
    || document.activeElement.nodeName === "TEXTAREA") { 
     return; // abort if focusing input box 
    } 

    var elems = document.getElementsByTagName("link"), 
     links = {}; 

    for(var i = 0; i < elems.length; i++) { // filter link elements 
     var elem = elems[i]; 
     if(elem.rel === "prev") { // add prev to links object 
      links.prev = elem; 
     } else if(elem.rel === "next") { // ad next to links object 
      links.next = elem; 
     } 
    } 

    if(e.keyCode === 37) { // left key 
     location.href = links.prev.href; 
    } else if(e.keyCode === 39) { // right key 
     location.href = links.next.href; 
    } 
}; 
+0

कमाल! धन्यवाद –

4
$(document).keydown(function(e){ 
     if (e.keyCode == 37) { // left 
      $("a[rel='prev']").click(); 
      return false; 
     } else if (e.keyCode == 39) { // right 
      $("a[rel='next']").click(); 
      return false; 
     } 
    }); 
+0

तो क्लिक लाइन को इस तरह से बदलें: location.href = $ ("a [rel = 'prev']") .prop ("href"); –

+0

लेकिन क्यों 'ए'? मुझे लगता है कि यह सवाल से 'लिंक' है। – pimvdb

संबंधित मुद्दे