2014-12-30 7 views
5

क्या कोई ऐसी घटना है जिसे निकाल दिया जाता है जब <input> -tag के अंदर पाठ स्क्रॉल किया जाता है? मेरा मतलब है कि अंदर का पाठ लंबा है और आप इनपुट कैरेट को इसके अंत में ले जाते हैं, आदियह पता लगाने के लिए ईवेंट <input> में पाठ स्क्रॉल किया गया है?

scroll ईवेंट है जब आप लेआउट में स्क्रॉल किए जाने पर तत्व को पकड़ सकते हैं, लेकिन यह नहीं है मैं क्या चाहता हूँ।

अद्यतन: http://jsfiddle.net/lborgman/L8k5ggnk/3/

+0

मैं उत्सुक हूं कि आप इसके लिए क्या उपयोग करना चाहते हैं। – jbg

+0

@jbg, बस full.ly.js का एक पुनःलेखन। यह एक संकेत प्रदर्शित करने के लिए "पृष्ठभूमि" '' -tag का उपयोग करता है। मैं संकेत में पाठ को स्क्रॉल करना चाहता हूं जब मुख्य ' 'में पाठ स्क्रॉल किया गया है। – Leo

+1

एक 'इनपुट' एक 'स्क्रॉल' ईवेंट को आग लगाता है जब अतिप्रवाह पाठ कम से कम फ़ायरफ़ॉक्स में ओवरफ़्लो में परिवर्तन के माध्यम से "स्क्रॉल" करता है। –

उत्तर

3

इसके लिए कोई विशिष्ट घटना नहीं है जो ब्राउज़र में काम करेगी। फ़ायरफ़ॉक्स scroll ईवेंट को आग लगाता है जब टेक्स्ट सम्मिलन बिंदु को बदलकर "स्क्रॉल" करता है, लेकिन क्रोम और संभावित अन्य ब्राउज़र नहीं होते हैं।

यहां ऐसी घटनाओं की एक सूची है जो सम्मिलन बिंदु को बदल सकती हैं।

  • input
  • keydown
  • keyup
  • focus
  • blur
  • click
  • change
  • scroll

इनमें से सभी को ईवेंट श्रोता बाध्यकारी सम्मिलन बिंदु को बदलने के जवाब देने के लिए पर्याप्त होना चाहिए। मेरा मानना ​​है कि उपर्युक्त सूची पूरी है, लेकिन अगर मैंने किसी को याद किया है, तो मुझे बताएं!

+0

धन्यवाद, अच्छा लग रहा है, लेकिन कुछ विवरण: क्या कोई बदलाव भी नहीं है? और 'धुंधला'। (और 'कीडाउन' की आवश्यकता क्यों है? और दूसरा कवर' स्क्रॉल' नहीं है?) – Leo

+1

@ लियो 'चेंज '! मुझसे यह चूक कैसे हुई? कुंजी दबाए जाने के जवाब में 'कीपडाउन' की आवश्यकता होती है, क्योंकि कुंजी को जारी होने पर 'कीप' केवल तभी आग लगती है (जब भी कोई चरित्र जोड़ा/हटाया जाता है)। आप शायद स्क्रॉल छोड़ सकते हैं, जब तक कि उपयोगकर्ता इनपुट के बिना स्क्रॉल करता है। मुझे 'धुंध' के बारे में निश्चित नहीं है, लेकिन मुझे लगता है कि यह वास्तव में ब्राउज़र के लिए आवश्यक हो सकता है जो धुंध पर स्क्रॉल को रीसेट करता है। –

+0

आह, 'कीडाउन' के बारे में अच्छी पकड़! – Leo

2

आप Caret Plugin की कोशिश की है: यहाँ का परीक्षण करने की घटनाओं पर चर्चा की एक बेला है?

आप के साथ कैरट की स्थिति प्राप्त कर सकते हैं:

pos = $(textarea).caret() 

और पकड़ जब यह फिर से बदल जाता है। यदि उत्तरार्द्ध पहले से अलग है तो आप जानते हैं कि उपयोगकर्ता इनपुट के अंदर स्थानांतरित हो गया है।

+0

धन्यवाद, नहीं, लेकिन मैं यहां jQuery से बचने की कोशिश कर रहा हूं। यह पूर्ण.ly.js के साथ बिंदुओं में से एक कहने के लिए है ... ;-) – Leo

+2

@ प्लगइन का स्रोत बहुत छोटा है, तो शायद आप इसे देख सकते हैं और कुछ विचार प्राप्त कर सकते हैं। वास्तव में, जैसा कि मैं स्रोत को देखता हूं, मैं फ़ंक्शन के अंदर बहुत कम jQuery देख सकता हूं। –

+1

धन्यवाद, @ हनलेट, मैंने एक नज़र डाली, लेकिन यह किसी भी घटना का पता नहीं लगाता है। यह सिर्फ कैरेट की स्थिति सेट या प्राप्त करता है। – Leo

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

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