मेरे पास एक टेक्स्टबॉक्स है जो किसी तत्व को क्लिक करने पर jQuery के साथ स्वचालित रूप से केंद्रित होता है:
my_item.find("input").focus();
यह उम्मीद के अनुसार फ़ायरफ़ॉक्स और क्रोम में काम करता है: इनपुट क्षेत्र केंद्रित है और मैं इसमें लिखना शुरू कर सकता हूं। सफारी में व्यवहार हालांकि अलग है। मैं तत्व पर क्लिक करता हूं, इनपुट केंद्रित है, मैं बॉक्स में टाइप करना शुरू करता हूं, और यह केवल मुझे एक वर्ण टाइप करने देता है। इनपुट का पहला वर्ण टाइप करने के बाद, इनपुट बॉक्स फोकस खो देता है और आगे टाइपिंग नहीं करता है जब तक कि यह मैन्युअल रूप से फिर से फोकस के लिए क्लिक नहीं करता।
मुझे इसके बारे में प्रश्न मिले focus()
और सफारी अजीब काम कर रहा है, लेकिन मुझे लगता है कि यह एक अलग मुद्दा है। मैंने वहां सुझाए गए समाधानों की कोशिश की, जैसे कि e.preventdefault()
माउसअप और इसी तरह, बिना किसी प्रभाव के।
मैं अपने केंद्रित पाठ इनपुट क्षेत्र को कैसे प्राप्त कर सकता हूं जब मैं सफारी में टाइप कर रहा हूं?
उत्तर:
उत्तर № 1 के लिए 7सवाल थोड़ा पुराना है, लेकिन मैं हाल ही में थाएक ही समस्या तो यह है कि मैं क्या पाया है। जांचें कि क्या आपका सीएसएस नियम कॉलआउट को रोक देता है। यदि आपके पास इस तरह का कोई नियम है तो हटाने का प्रयास करें और फिर दोबारा टाइप करने का प्रयास करें
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;