2009-05-18 13 views
10

एक पेज के लिएकिसी इवेंट हैंडलर को ट्रिगर करने के लिए किसी वेबपृष्ठ पर किसी शब्द पर क्लिक या डबल क्लिक करने के लिए कैसे करें?

तरह

http://www.answers.com

अगर पेज में किसी भी शब्द पर उपयोगकर्ता पर दो बार क्लिक, एक पॉप अप बॉक्स दिखाई और उस शब्द के लिए परिभाषा से पता चलता होगा।

मैं पृष्ठ में सभी शब्दों को तोड़ने के लिए डीओएम स्क्रिप्टिंग का उपयोग करने के तरीके के बारे में सोच सकता हूं और फिर उनमें से प्रत्येक को एक अलग "अवधि" तत्व के तहत जाना चाहिए ... लेकिन अन्यथा यह सच नहीं है कि अगर सभी पाठ एक "पी" तत्व के तहत है, फिर "पी" तत्व नोड डबल क्लिक ईवेंट को संभालने के लिए ट्रिगर हो जाता है, लेकिन यह कहने का कोई आसान तरीका नहीं है कि कौन सा शब्द क्लिक किया गया है?

+0

अच्छा सवाल है, साफ कार्यक्षमता, इस सवाल का –

उत्तर

15

आप बस, पूरे दस्तावेज के लिए एक डबल क्लिक करें घटना जोड़ें ताकि तरह:

function get_selection() { 
    var txt = ''; 
    if (window.getSelection) { 
     txt = window.getSelection(); 
    } else if (document.getSelection) { 
     txt = document.getSelection(); 
    } else if (document.selection) { 
     txt = document.selection.createRange().text; 
    } 
    return txt; 
} 

$(document).dblclick(function(e) { 
    var t = get_selection(); 
    alert(t); 
}); 

यदि आप केवल इस चयन पैराग्राफ पर काम करना चाहता था, आप p.myclass या ऐसा ही कुछ करने के लिए चयनकर्ता बदल जाएगा। यह इस तथ्य पर निर्भर करता है कि एक शब्द डबल क्लिक करने से ब्राउज़र में हाइलाइट होता है। वास्तव में यह सुनिश्चित नहीं है कि यह वास्तव में answer.com कैसे ईमानदार होने के लिए करता है।

+0

मुझे कुछ ही मिनटों मारो देख रहे हो जाएगा। मैं एक ही बात का सुझाव देने वाला था। +1 –

+0

मुझे यह काम करने के लिए प्रतीत नहीं होता है। http://erxz.com/pb/25570 – radicalmatt

+0

क्षमा करें, समस्या यह थी कि उपयोगकर्ता परिभाषित getSelection फ़ंक्शन window.getSelection को clobbering है। एक आसान फिक्स सिर्फ उपयोगकर्ता परिभाषित फ़ंक्शन का नाम बदल रहा है। – radicalmatt

5

यहां आप एक ब्लॉग आलेख जाते हैं जो वर्णन करता है कि आप jQuery का उपयोग करके यह कैसे करते हैं। उनका परीक्षण कार्यान्वयन आप क्या चाहते हैं के समान है, अर्थात् डबल क्लिक एक शब्द तक परिभाषा एक शब्दकोश से खींचती है:

Using jQuery and Double clicks to get data

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