निम्न उदाहरण में, मुझे केवल एक अलर्ट बॉक्स मिलता है। मैंने पढ़ा है कि जावास्क्रिप्ट कोड निष्पादित होने से पहले फोकस रखा जाता है। क्या यह काम करने के लिए कोई रास्ता है?ऑनफोकस को किसी इनपुट टैग पर ऑटोफोकस विशेषता का उपयोग करते समय नहीं कहा जाता है
<input id="i" type="text" autofocus onfocus="alert(1)">
<script type="text/javascript">
document.getElementById('i').addEventListener('focus', function() {
alert(2);
}, false);
</script>
(मैं केवल सफारी में यह परीक्षण किया है)
संपादित करें: मैं स्पष्ट रूप से यह इस तरह से (Prototypejs चयनकर्ता) कर सकते हैं:
var autofocusElement = $$('input[autofocus]')[0];
callListener(autofocusElement);
लेकिन यह केवल जोड़ने की तुलना में बदसूरत लग रहा है एक घटना श्रोता।
संपादित करें:
ऑटोफोकस विशेषता के लिए ब्राउज़र समर्थन की कमी से अधिक चिंता मत करो। यह आसानी से सुलझाया गया है क्योंकि मैंने नीचे दिए गए लिंक लिंक किए हैं। जैसा कि मैं देख सकता हूं समस्या का सबसे अच्छा समाधान भी है। मेरा सवाल यह है कि अगर मैं श्रोता को मैन्युअल रूप से कॉल करने से कम बदसूरत में कर सकता हूं।
http://jsfiddle.net/tellnes/7TMBJ/3/
यह फ़ायरफ़ॉक्स के बाद से Firefox 3.6 में ठीक काम करता है ऑटोफोकस समर्थन नहीं करता। लेकिन सफारी में, जो ऑटोफोकस का समर्थन करता है, वह घटना नहीं है।
गलत पहेली लिंक? – Rahul
@Rahul ऐसा लगता है कि मैंने पोस्ट किया था क्योंकि मैंने अपना jsfiddle उपयोगकर्ता नाम बदल दिया है। मैंने लिंक अपडेट किया है। –