jquery

2010-05-17 9 views
8

के साथ डिफ़ॉल्ट हैशटैग व्यवहार रोकें मैं यूआरएल के अंत में हैशटैग जोड़ने के लिए निम्न कोड का उपयोग कर रहा हूं। इस तरह कोई व्यक्ति उस यूआरएल की प्रतिलिपि बना सकता है और उन्हें कुछ पेजों के साथ, उस पृष्ठ पर वापस ले जा सकता है।jquery

$("a.live").click(function() { 
    window.location.hash = 'live'; 
    $("#live).slideDown(); 
}); 

इस उदाहरण में मैं एक div बुलाया 'जी', कि slideDown जब लिंक पर क्लिक होने होता है, और '#live' यूआरएल को जोड़ा गया। तब मेरे पास कोड है जो हैश टैग की जांच करता है जब पृष्ठ उचित divs दिखाने के लिए लोड किया जाता है।

मेरी समस्या यह है कि मैं ब्राउज़र को 'लाइव' div पर कूदने से कैसे रोकूं? मैं नहीं चाहता कि पृष्ठ div पर स्क्रॉल करें, बस इसे खोलना चाहते हैं और हैशटैग संलग्न है ताकि कोई व्यक्ति इसे कॉपी कर सके और उस पृष्ठ पर उस div के साथ वापस आ सके।

किसी भी सुझाव दिए गए?

धन्यवाद!

+0

रुको, क्या आपका मतलब है कि उपरोक्त लिंक क्लिक होने पर, या जब पृष्ठ पहले यूआरएल में हैश के साथ लोड हो जाता है? – karim79

उत्तर

8

इस प्रयास करें:

$("a.live").click(function() { 
    window.location.hash = 'live'; 
    $("#live").slideDown(); 
    return false; // this will prevent default action 
}); 
8

यह निर्भर करता है। आप इसे रोकने के लिए जब लंगर क्लिक किया जाता है चाहते हैं, इस का उपयोग करें:

$("a.live").click(function(e) { 
    e.preventDefault(); // Prevents browsers default action 
    window.location.hash = 'live'; 
    $("#live").slideDown(); 
}); 

आप इसे हैश, जब पेज लोड करने के लिए स्क्रॉल से रोकने के लिए चाहते हैं, तो मुझे यकीन है कि आपको लगता है कि कैसे रोका जा सके नहीं हूँ।

2

मैं यह सोचते कर रहा हूँ आप दस्तावेज़ तैयार घटना में है कि आप के रूप में आप कहते हैं कि div खोलने के लिए उपयोग में कुछ कोड है? यदि ऐसा है, तो मैं सुझाव दूंगा कि आप हैश (जैसे #_live) में आईडी में उपसर्ग जोड़ें ताकि आईडी दस्तावेज़ में नहीं मिल सके और इसलिए ब्राउज़र को उस तत्व को स्वचालित रूप से स्क्रॉल करने से रोकता है, और उसके बाद निकालने के लिए अपने कोड को संशोधित करें जब आप इसे उठाते हैं तो उपसर्ग।

मैं इस 'हैक' का सुझाव दे रहा हूं क्योंकि मुझे नहीं लगता कि आप जावास्क्रिप्ट का उपयोग करके उस ब्राउज़र व्यवहार को रोक सकते हैं, कम से कम निश्चित रूप से एक क्रॉस-ब्राउज़र समाधान के लिए विश्वसनीय रूप से विश्वसनीय नहीं है।