ब्राउज़र कैसे एचटीएमएल 5 प्लेसहोल्डर टैग का समर्थन करता है, तो मैं कैसे पता लगा सकता हूं, इसलिए मैं तय कर सकता हूं कि मेरे jQuery प्लेसहोल्डर प्लगइन को हुक करना है या नहीं।एचटीएमएल 5 "प्लेसहोल्डर" समर्थन
उत्तर
var placeholderSupported = ('placeholder' in document.createElement('input'));
चर placeholderSupported
true
हो सकता है अगर यह मूल रूप से समर्थित है। अन्यथा, इसे false
पर सेट किया जाएगा।
प्राप्त करने के लिए एक व्यापक विचार करने के लिए जाना:
http://caniuse.com/#search=placeholder
और ब्राउज़र में परीक्षण करने के लिए आप कर सकते हैं:
function supportsPlaceholder() {
var i = document.createElement('input');
return 'placeholder' in i;
}
आप Modernizr और yepnope की तरह तीसरे पक्ष के पुस्तकालयों शामिल करना चाहते हैं .js, समर्थन के लिए परीक्षण करना और प्रगतिशील रूप से बढ़ाना वाकई आसान है, गहराई से गिरावट।
यह संसाधनों की बहुत सारी है कि मदद करनी चाहिए के साथ एक अच्छा लेख है: http://www.sitepoint.com/regressive-enhancement-with-modernizr-and-yepnope/
http://diveinto.html5doctor.com/everything.html#placeholder
return 'placeholder' in document.createElement('input');
हालांकि, अगर आप का उपयोग कर रहे jQuery प्लगइन पहले से ही देशी समर्थन के लिए जाँच की जा सकती है - आप हो सकता है को यह करने की आवश्यकता नहीं है।
यह सुंदर है। AIOAANBGTDE –
+1 jQuery समर्थन केवल है; '$ .support.placeholder' –
के लिंक के लिए – mattclegg
मैं ऊपर जवाब से उधार लिया और इतना है कि यह बड़े आधुनिक ब्राउज़रों के साथ ही IE के साथ पीछे की ओर संगत है इसे बनाया -
नीचे कोड के साथ, सुनिश्चित करें कि आप दोनों एक 'मान' और 'प्लेसहोल्डर बनाने 'इनपुट फ़ील्ड के लिए विशेषता सेट। मेरे विशेष मामले में मुझे आईई वेरिएंट का समर्थन करने की आवश्यकता थी।
स्पष्टीकरण - यदि ब्राउज़र प्लेसहोल्डर का समर्थन करता है तो इनपुट मान हटा दिया जाता है। यदि नहीं, तो पुराने ब्राउज़र प्लेसहोल्डर विशेषताओं को अनदेखा कर देंगे और नीचे जेएस डिफ़ॉल्ट प्लेसहोल्डर व्यवहार की नकल करता है। यह स्क्रिप्ट सीएसआरएफ के लिए किसी भी ऑथ टोकन को भी अनदेखा कर देगी (एक त्रुटि हो रही थी जहां मेरे फॉर्म ऐप्स में सीएसआरएफ चेतावनी के कारण मेरे फॉर्म में ऑथ टोकन मान साफ़ हो रहे थे)।
स्क्रिप्ट को सरल बनाने के लिए एक और तरीका यह है कि आप प्रत्येक स्क्रिप्ट को एक वर्ग असाइन करना चाहते हैं, जिसे आप विशेष रूप से इस स्क्रिप्ट का उपयोग करना चाहते हैं और तदनुसार सही कथन अपडेट करें (हालांकि नीचे विधि थोड़ा और सूखी है)।
var placeholderSupported = !!('placeholder' in document.createElement('input'));
if (placeholderSupported === true){
$('input:not([type="submit"], [name="authenticity_token"])').val('');
} else{
$('input')
.focus(function() {
if (this.value === this.defaultValue) {
this.value = '';
}
})
.blur(function() {
if (this.value === '') {
this.value = this.defaultValue;
}
});
}
- 1. एचटीएमएल 5, प्लेसहोल्डर, वेबकिट
- 2. मैं एचटीएमएल 5 प्लेसहोल्डर पाठ कि क्रोम
- 3. स्ट्रैट्स एचटीएमएल के अंदर एचटीएमएल 5 प्लेसहोल्डर: टेक्स्ट टैग
- 4. एचटीएमएल 5 कंपन एपीआई समर्थन
- 5. Google क्रोम एचटीएमएल 5 समर्थन
- 6. एचटीएमएल 5 और RDFa समर्थन
- 7. एचटीएमएल 5 वीडियो कोडेक समर्थन
- 8. एचटीएमएल 5 मोबाइल ब्राउज़र समर्थन
- 9. एचटीएमएल 5 प्लेसहोल्डर सुविधा का पता लगाने की समस्या
- 10. नया एचटीएमएल 5 कैनवास एपीआई समर्थन
- 11. विंडोज फोन 7 में एचटीएमएल 5 समर्थन
- 12. एचटीएमएल प्लेसहोल्डर एंड्रॉइड
- 13. एचटीएमएल: पासवर्ड फ़ील्ड समस्या में एचटीएमएल 5 प्लेसहोल्डर विशेषता- सामान्य पाठ दिखाता है?
- 14. एचटीएमएल 5
- 15. एचटीएमएल 5
- 16. एचटीएमएल 5
- 17. एचटीएमएल 5 बॉयलरप्लेट बनाम एचटीएमएल 5 रीसेट
- 18. एचटीएमएल 5
- 19. एचटीएमएल 5
- 20. एचटीएमएल 5
- 21. एचटीएमएल 5
- 22. एचटीएमएल 5 संदर्भ कार्यान्वयन
- 23. एचटीएमएल 5 ब्राउज़र संगतता चार्ट - पुराने ब्राउज़र में एचटीएमएल 5?
- 24. क्या एचटीएमएल 5 नामस्थानों का समर्थन करता है?
- 25. आईई 8 एचटीएमएल 5 और CSS3 का समर्थन करता है?
- 26. क्या मोबाइल फोन पर एचटीएमएल 5 समर्थन स्पर्श करता है?
- 27. दृश्य स्टूडियो में एचटीएमएल 5 Javascript API IntelliSense समर्थन
- 28. एचटीएमएल 5 वीडियो समर्थन के लिए कैसे जांचें?
- 29. एचटीएमएल 5 खींचें और छोड़ें घटनाओं और setDragImage ब्राउज़र समर्थन
- 30. एचटीएमएल 5 अधिसूचनाओं के लिए गीको/फ़ायरफ़ॉक्स समर्थन
आपको क्यों चाहिए !! अभिव्यक्ति में? – hop
@hop - आप सही हैं। मैं नही। अपडेट किया गया। –