2011-01-11 12 views
5

संभव डुप्लिकेट:
Modifying document.location.hash without page scrollingजब ब्राउज़र का खंड पहचानकर्ता बदल जाता है तो मैं ब्राउज़र को एंकर पर कूदने से कैसे रोकूं?

मैं यदि संभव हो तो, घटना रद्द करना चाहते हैं, लेकिन मैं इस बात के लिए किसी भी मिसाल नहीं दिख रहा। इस पल के लिए मान लें कि मैं अपने टुकड़े पहचानकर्ता और मेरे एंकर के नाम दोनों के लिए एक ही स्ट्रिंग का उपयोग करने के लिए बाध्य हूं। मुझे घटना को रोकना और किसी भी तरह इसे रद्द करना होगा।

अद्यतन: यह शायद यह Modifying document.location.hash without page scrolling

+0

कैसे बदला गया? उपयोगकर्ता द्वारा? –

+0

यहां कुछ कोड है जो करता है, मैं कोशिश करता हूं और इसे ढूंढता हूं :) – alex

+1

संभावित डुप्लिकेट: http://stackoverflow.com/questions/1489624/modifying-document-location-hash-without-page-srolling – scoffey

उत्तर

0

का डुप्लिकेट है?

<h1 id="header">home</h1> 
<ul> 
    <li><a href="#home">Home</a></li> 
    <li><a href="#product">Product</a></li> 
    <li><a href="#about">About</a></li> 
</ul> 
<script type="text/javascript"> 

    window.onload = function(e) { 
    var links = document.getElementsByTagName('a'); 
    for (var i=0; i < links.length; i++) { 
     links[i].addEventListener('click', function(e) { 
      var hash = this.href.split('#')[1]; 
      if(hash.length) { 
       if(hash == 'product') { 
        alert('Sorry, page in development'); 
        e.preventDefault(); 
       }else{ 
        document.getElementById('header').innerHTML = hash; 
       } 
      } 
     }, false); 
    }; 
    }; 
    // OR 
    window.onhashchange = function(e) { 
     var hash = window.location.hash.substr(1); 
     if(hash.length) { 
      if(hash == 'product') { 
       alert('Sorry, page in development'); 
       window.history.back(); 
      }else{ 
       document.getElementById('header').innerHTML = hash; 
      } 
     } 
    }; 

</script> 
संबंधित मुद्दे

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