2011-08-25 6 views
5

एक एक HTML लिंक (एंकर तत्व) की डिफ़ॉल्ट क्रिया/घटना कैसे चालू कर सकते? यह एक मौजूदा HTML लिंक "क्लिक" करने के लिए जावास्क्रिप्ट/jQuery का उपयोग करना है, जैसे कि उपयोगकर्ता ने इसे क्लिक किया है।एक HTML लिंक (एंकर तत्व) की डिफ़ॉल्ट कार्रवाई/घटना को कैसे ट्रिगर करें?

बस .click() का उपयोग कर काम करने के लिए प्रतीत नहीं होता।

$('#alink').click(); 
// the nothing happening 

इस HTML के लिए:

<a id="alink" href="http://google.com" target="_blank">a link</a> 

उदाहरण बेला: http://jsfiddle.net/dCfD8/

मैं नहीं बल्कि नहीं जावास्क्रिप्ट में एक नई विंडो (बना सकते हैं और जो कुछ भी किसी और का ख्याल रखना चाहते हैं की जरूरत है प्रबंधित करने पर जब एक लिंक क्लिक किया गया है)।

+1

इस देखें: http://stackoverflow.com/questions/1694595/can-i-call-jquery क्लिक करें अनुसरण करने में-एक-एक कड़ी अगर-ए-havent बाध्य-एक-घटना-handl –

+0

@Digital विमान, धन्यवाद, इससे पहले नहीं देखा है कि एक। यह भी जानना दिलचस्प होगा कि इस मामले में कोई बदलाव है या नहीं, या यह जवाब "यह नहीं किया जा सकता" अभी भी नवीनतम ब्राउज़र (जैसे क्रोम 13+) के लिए भी लागू होता है। – Qtax

उत्तर

2

आप क्लिक करें घटना jQuery में एक साधारण trigger विधि का उपयोग को गति प्रदान कर सकते हैं।

$('#alink').trigger('click'); 

हालांकि सावधान रहें, यहां तक ​​कि घटना में भी निकाल दिया जाता है, ब्राउज़र लिंक href का पालन नहीं करेगा। Href का पालन करने का एकमात्र तरीका वास्तव में माउस के साथ इसे क्लिक करना है।

जहाँ तक मुझे पता है, वहाँ के रूप में अगर यह क्लिक किया गया व्यवहार करने के लिए एक कड़ी के लिए मजबूर करने का कोई तरीका नहीं है। पेजों के बीच वास्तव में नेविगेट करने के लिए आपको दस्तावेज़ स्थान या ऐसा कुछ बदलना होगा।

+0

के लिए स्वीकार किए जाते हैं, "वहाँ व्यवहार करने के लिए जैसे कि यह क्लिक किया गया है एक कड़ी के लिए मजबूर करने का कोई तरीका नहीं है" जो http://stackoverflow.com/questions/1694595/can-i-call-jquery-click-to-follow-an- एक-लिंक-अगर-i-havent-bound-an-event-handl भी बताता है। – Qtax

-1

कोशिश यह:

$('#alink').trigger('click'); 
+0

काम नहीं करता है (कम से कम पहेली में)। – Qtax

+1

इस आह्वान केवल jQuery घटनाओं क्लिक करने के लिए अगर आप चाहते हैं "का अनुकरण" एक लंगर पर उपयोगकर्ता क्लिक एक और यूआरएल आप यह कर सकते हैं पर रीडायरेक्ट करने संबंधित:। 'Document.location = $ ('# ALINK') attr ('href '); ' –

+0

' target = "_ blank" ', या किसी अन्य विशेष लिंक विशेषता के साथ काम नहीं करेगा। – Qtax

1

अपने ही पोस्ट करने के लिए फैबियो Cicerchia की टिप्पणी पर विस्तार: आप window.open उपयोग कर सकते हैं:

var link = $('#alink'); 
var target = link.attr("target"); 
window.open(link.attr("href"), target ? target : "_self"); 
+0

+1। ऐसा लगता है कि काम कर सकता है। लेकिन मुझे चिंता है कि (डिफ़ॉल्ट) पॉपअप हैंडलर/अवरोधक इसे अवरुद्ध कर सकते हैं, जबकि वे एक लिंक पर क्लिक करने वाले सामान्य उपयोगकर्ता को प्रभावित करेंगे। – Qtax

+0

हां, वास्तव में अधिकांश पॉपअप-ब्लॉकर्स इसे अवरुद्ध करेंगे, अगर यह किसी उपयोगकर्ता इंटरैक्शन द्वारा ट्रिगर नहीं किया गया है। आप उन मामलों में 'doument.location = ...' के साथ गठबंधन करते हैं जहां लक्ष्य सेट नहीं होता है। शायद आपको पृष्ठभूमि की व्याख्या करनी चाहिए, आपको ऐसा करने की आवश्यकता क्यों है। शायद इस तरह के विकल्प मिल सकते हैं। – RoToRa

0
<script src='jquery lib source' ></script> 
    <script> 
    function force() 
    { ...do something...to fill page2 
     $('#gopage2').trigger('submit'); 
    }  
    </script> 
    <form action='#page2' id='gopage2'> 
    </form> 

    ... 
    <span name='#page2'>This is page2</span> 
+1

कृपया केवल एक कोड के बजाय, अपने उत्तर में कुछ स्पष्टीकरण जोड़ने पर विचार करें। हमारा लक्ष्य यहां लोगों को शिक्षित करना है ताकि वे उत्तर को समझ सकें और अन्य स्थितियों में इसे लागू कर सकें। यदि आप अपना कोड टिप्पणी करते हैं और स्पष्टीकरण जोड़ते हैं, तो आप इस समय केवल उस व्यक्ति से पूछे जाने वाले व्यक्ति के लिए अपना उत्तर अधिक उपयोगी बनाएंगे, लेकिन भविष्य में किसी को भी जो एक ही समस्या हो सकती है। – starsplusplus

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