2010-06-20 10 views
5

जैसा कि आप जानते हैं, ब्राउज़र में किसी शब्द पर डबल क्लिक करने से इसे चुनता है, ट्रिपल क्लिक पूरे पैराग्राफ का चयन करता है।एचटीएमएल उपयोगिता प्रश्न - (डबल) पाठ का चयन करने के लिए क्लिक करें

मैं एक विकी, अनाम उपयोगकर्ताओं के लिए हस्ताक्षर स्वचालित रूप से बनाया जाता है, जहां फेरबदल कर रहा हूँ और वे की तरह लग रहे:

--- // <ip.ad.dr.ess> //

" --- "— उत्पन्न करता है, // इटालिक पाठ के लिए है और <em> </em > उत्पन्न करता है।

इस तरह यह अब काम करता है, क्योंकि मैंने इसे tweaked। अब मैं उपयोगिता के बारे में सोच रहा हूँ।

मेरा प्रश्न है: आईपी पते पर डबल क्लिक पर मार्कअप कैसे उत्पन्न करें, पूरा पता और केवल पता चुना जाएगा?

मार्कअप भाषा कोई फर्क नहीं पड़ता, आप HTML में समाधान प्रदान कर सकते हैं, लेकिन विकीज़ (डॉकुविकी) के लिए एक विशिष्ट बेहतर है।

धन्यवाद

+0

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

+0

मैं उस सामग्री को जोड़ने के लिए इसे ट्वीव कर रहा हूं। यह काम करता है, लेकिन अब मैं पहुंच के बारे में सोच रहा हूं – Flavius

+0

इसके लिए क्या है? अभिगम्यता से आपका क्या मतलब है? –

उत्तर

5

सभी के लिए धन्यवाद, लेकिन मैंने सीमाओं के बिना और वेबसाइट की पृष्ठभूमि के पृष्ठभूमि रंग के साथ एक पाठक पाठ फ़ील्ड सेट का उपयोग करके इसे करने में कामयाब रहा है।

क्लाइंट-साइड स्क्रिप्टिंग पर भरोसा किए बिना डबल क्लिक करने की अपेक्षा की जाती है।

2

आप ऐसा नहीं कर सकते HTML के साथ। शायद जावास्क्रिप्ट के साथ। असल में, आप बस एक निश्चित क्षेत्र में डबल क्लिक का पता लगाते हैं और फिर उपयुक्त टेक्स्ट का चयन करते हैं।

संपादित करें:

यहाँ कैसे W3C अनुरूप ब्राउज़र में यह करने के लिए है (जैसे फ़ायरफ़ॉक्स, यह शायद IE में काम नहीं करेगा, जो एक W3C अनुरूप ब्राउज़र नहीं है और अलग अलग पाठ चयन मॉडल का उपयोग करता):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html> 
    <head> 
     <script type="text/javascript"> 
      function select(elem) { 
       var sel = window.getSelection(); 
       var range = sel.getRangeAt(0); 
       range.selectNode(elem); 
       sel.addRange(range); 
      }    
     </script> 
    </head> 
    <body> 
     <p>a simple paragraph, this is 
      <span onclick="select(this);">clickable area</span> 
      when this 
      <span ondblclick="select(this);">span tag is double-clicked</span> 
      then they will be selected 
     </p> 
    </body> 
</html> 
+0

नवीनतम क्रोम में, फ़ंक्शन के पहले पैरामीटर के रूप में मुझे जो मिलता है वह घटना है, इसलिए 'e'arget' के साथ पैरामीटर को 'e' और 'elem' के साथ बदल दिया गया है और यह खूबसूरती से काम करता है। – haridsv

+0

'घटना' दस्तावेज के अनुसार, पहला पैरामीटर वास्तव में ईवेंट ऑब्जेक्ट है, तत्व नहीं। Https://developer.mozilla.org/en/docs/Web/API/Event देखें। संपादित करें: बस ध्यान दिया गया है कि आप स्पष्ट रूप से पहले पैरामीटर के रूप में 'इस' को पारित कर रहे हैं। – haridsv

+0

@haridsv: यदि आप addEventListener() के साथ ईवेंट हैंडलर को जोड़ रहे हैं तो यह सही है। जब ईवेंट यहां @onclick विशेषता के साथ इनलाइन संलग्न होता है, तो पैरामीटर आपके द्वारा हैंडलर को जो कुछ भी पारित किया जाता है, उसके द्वारा निर्धारित किया जाता है, जो इस मामले में 'यह' है, जो तत्व है। आजकल, यह संभवतः addEventListener() के साथ अविश्वसनीय रूप से संलग्न करने के लिए एक बेहतर अभ्यास है या ऑनक्लिक विशेषता को जोड़ने से jquery के साथ। –

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