दिखाई नहीं देता है जब मैं एक div क्लिक किया जाता है तो मैं एक इनपुट तत्व पर ध्यान केंद्रित करना चाहता हूं।jQuery के साथ फोकस() इनपुट तत्व, लेकिन कर्सर
मेरे एचटीएमएल इस तरह दिखता है:
<div class="placeholder_input">
<input type="text" id="username" maxlength="100" />
<div class="placeholder_container">
<div class="placeholder">username</div>
</div>
</div>
और मेरी स्क्रिप्ट है:
$("#username").focus(function() {
$(this).next().hide();
});
$(".placeholder_input").mousedown(function() {
$(this).children(":first").focus();
});
जब मैं टेक्स्ट बॉक्स में क्लिक करें, प्लेसहोल्डर पाठ सही ढंग से गायब हो जाता है, लेकिन निमिष कर्सर प्रदर्शित नहीं करता है टेक्स्टबॉक्स में। (और मैं टेक्स्ट बॉक्स में किसी भी पाठ टाइप कर सकते हैं नहीं)
mousedown
ईवेंट हैंडलर के अंदर, $(this).children(":first")
अभिव्यक्ति सही इनपुट तत्व का चयन करता है, तो मुझे पता नहीं क्यों focus()
कॉल काम नहीं करता है।
वाह तक फोकस में देरी! तुम सही हो ... लेकिन क्यों? – Zsolt
मैं ईमानदारी से सुनिश्चित नहीं हैं; और ['() '] के साथ परीक्षण (http://jsfiddle.net/davidThomas/wpnNY/2/) किसी भी उपयोगी जानकारी को फेंकने लगते नहीं हैं। मुझे संदेह है क्योंकि 'माउसअप' ईवेंट 'mousedown' (और' फोकस() ') के बाद बुलाया जाता है, जो' .placeholder_input' तत्व पर वापस ध्यान केंद्रित करता है, और 'इनपुट' से दूर होता है। –