क्या कोई इनपुट क्षेत्र में लाइव बदलावों का पता लगाने के लिए क्रॉस-ब्राउज़र तरीका है?क्रॉस-ब्राउजर जावास्क्रिप्ट इनपुट लाइव चेंज/पेस्ट डिटेक्शन
लाइव, मेरा मतलब यह नहीं है कि जब फ़ील्ड फोकस खो देता है, और अगली कीप्रेस पर नहीं, और इसी तरह। तुरंत या ऐसा कुछ। तो मैं पर jQuery और .change()
, .keyup()
, .bind('paste')
की
का उपयोग संयोजन और कुछ ब्राउज़रों में लाइव परिवर्तन का पता लगाने के काम कर प्राप्त कर सकते हैं, लेकिन सभी। विभिन्न संयोजनों का उपयोग करने से यह कुछ अन्य ब्राउज़रों में कुछ हद तक काम करेगा।
काम कर पाने के लिए trickiest बात इनपुट क्षेत्र के माउस हेरफेर है - पाठ का चयन और यह आगे बढ़ (जो अनिवार्य रूप से कट और पेस्ट किया जाता है), राइट क्लिक करें और पेस्ट करने या काटने, आदि किसी कारण से भी .mousedown()
और .mouseup()
इसे काटते प्रतीत नहीं होते हैं।
एकमात्र क्रॉस-ब्राउजर समाधान मैं अभी सोच सकता हूं कि प्रत्येक 100-या-तो मिलीसेकंड इनपुट फ़ील्ड मान की जांच करें और संग्रहीत मूल्य के विरुद्ध मान की तुलना करें। लेकिन यह घटना-आधारित समाधान इतने करीब आता है जब यह ओवरकिल की तरह लगता है।
क्या कोई jQuery प्लग-इन है जो पहले से ही करता है? या यह हासिल करने के लिए कोई और तरीका है?
jQuery उस संबंध में क्रॉस ब्राउज़र संगत होना चाहिए, कम से कम उन ब्राउज़रों और उनके संस्करण http://docs.jquery.com/Browser_Compatibility पर पाए गए; यदि ऐसा नहीं है तो मैं सुझाव दूंगा कि आप एक बग फाइल करें। – azatoth
@aza मुझे बिल्कुल यकीन नहीं है कि कौन सा jQuery ईवेंट हेल्पर्स जो मैं चाहता हूं (इनपुट फ़ील्ड के मूल्य में किसी भी बदलाव पर तत्काल अपडेट) प्राप्त करने के लिए उपयोग करना है, क्योंकि इनपुट फ़ील्ड खोने पर '.change()' निकाल दिया जाता है। ध्यान देते हैं। क्या आप जानते है? – javascripteroo
यहां एक साधारण समाधान का वर्णन किया गया है: http://whattheheadsaid.com/2010/09/effectively-detecting-user-input-in-javascript – biziclop