मुझे आशा नहीं है, लेकिन मैं बस मामले में पूछूंगा।आईओएस पर जावास्क्रिप्ट: एक HTML चयन तत्व खोलना
मैं आईफोन/आईपैड के लिए मोबाइल सफारी में एक चुनिंदा तत्व खोलने के लिए जावास्क्रिप्ट का उपयोग करने में सक्षम होना चाहता हूं।
एक व्यापक Google/स्टैक ओवरफ़्लो खोज से पता चलता है कि बहुत से लोग ब्राउज़र में सामान्य रूप से ऐसा करने में सक्षम होना चाहते हैं, लेकिन यह समर्थित नहीं है (क्यों नहीं, मुझे आश्चर्य है?)। चुनिंदा तत्व पर focus()
पर कॉल करने और size
संपत्ति को बदलने के लिए तत्वों को देखने के लिए, या <div>
और <ul>
तत्वों के साथ पूरी तरह से नकली चयन तत्व बनाने के लिए विभिन्न हैक्स सुझाए गए हैं। हालांकि, मैं आईपैड और आईफोन में देशी ब्राउजर चुनिंदा नियंत्रणों का उपयोग करना चाहता हूं।
मुझे आश्चर्य हुआ, बस शायद, किसी को यह करने के लिए मालिकाना ऐप्पल वेबकिट विधि के बारे में पता हो सकता है। यह कुछ इस तरह होगा:
var myselect = document.getElementsByTagName("select")[0];
myselect.open(); // this method doesn't exist
एक बोनस के रूप में, यह भी एक बूलियन संपत्ति है कि कहते हैं कि क्या चयन तत्व वर्तमान में खुले/सक्रिय, या नहीं (यानी सिर्फ तत्व है कि क्या नहीं है के बारे में पता करने के लिए आसान हो जाएगा फोकस है)। मुझे पता है कि मैं क्लिक करके घटनाओं को बदलकर इसे बाहर कर सकता हूं, लेकिन एक साधारण संपत्ति उपयोगी होगी।
इच्छापूर्ण सोच?
अद्यतन:
मैं अभी तक उत्तर नहीं है, लेकिन मैं पाया है कि एक mousedown
अनुकरण सफलतापूर्वक गूगल क्रोम में एक का चयन तत्व को खोलता है, लेकिन नहीं iPad या फ़ायरफ़ॉक्स और इतने पर:
function simulateMouseEvent(eventName, element) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent(eventName, true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
element.dispatchEvent(evt);
}
simulateMouseEvent("mousedown", select);
अद्यतन:
मैं चयन बॉक्स यहाँ पर संबंधित है, लेकिन अलग (! और इसी तरह अनुत्तरित) प्रश्न पूछा गया है: Is there a DOM event that fires when an HTML select element is closed?
आप उस तत्व पर एक क्लिक/नल के लिए मजबूर नहीं किया जा सका देख सकते हैं? – Seth
क्या आप हमें बताएंगे कि आप क्या प्रभाव प्राप्त करना चाहते हैं? मेरा मतलब है उपयोगकर्ता के लिए क्या जोड़ा मूल्य। – mplungjan
@ सेठ - कैसे? @mplungjan - यह एक एसवीजी-आधारित डेटा विज़ुअलाइज़ेशन ऐप के लिए है, जहां अलग-अलग इशारे अलग-अलग परिणामों को ट्रिगर कर सकते हैं। उदाहरण के लिए, उपयोगकर्ता स्क्रीन के चारों ओर एक सर्कल खींच सकता है, लेकिन यदि एक ही सर्कल को उंगली का एक टैप दिया जाता है तो मुझे दिखाई देने के विकल्पों में से एक चुनिंदा बॉक्स चाहिए। मैं 2 क्लिक की आवश्यकता नहीं चाहता हूं: विकल्पों को दिखाने के लिए चयन, +1 को दिखाने/फोकस करने के लिए एक। मैं * चुनिंदा तत्व बना सकता हूं जिसे उपयोगकर्ता इंटरैक्ट करता है, इसलिए जब क्लिक किया जाता है तो यह खुलता है और यदि चयन तत्व खींचा जाता है तो मैं सर्कल तत्व को स्थानांतरित कर सकता हूं, लेकिन यदि संभव हो तो मैं इससे बचना चाहूंगा। – Premasagar