मुझे प्लेसहोल्डर समर्थन के लिए परीक्षण करने की आवश्यकता है। निम्नलिखित काम करता है सभी आधुनिक ब्राउज़रों में महान है, साथ ही IE7, IE8, IE9:एचटीएमएल 5 प्लेसहोल्डर सुविधा का पता लगाने की समस्या
$.support.placeholder = (function() {
var i = document.createElement("input");
return "placeholder" in i;
}());
यह काम करता है, लेकिन JSLint in
के उपयोग के बारे में शिकायत:
'में' अप्रत्याशित। अपरिभाषित के साथ तुलना करें, या इसके बजाय hasOwnProperty विधि का उपयोग करें।
ठीक है, तो मैं इसे इस के लिए refactor होगी:
$.support.placeholder = (function() {
var i = document.createElement("input");
return i.hasOwnProperty("placeholder");
}());
अब यह किसी भी त्रुटि या चेतावनी के बिना JSLint गुजरता है, लेकिन यह इस पुराने शाहबलूत के साथ IE7 और IE8 में टूट जाता है:
वस्तु संपत्ति या विधि 'hasOwnProperty'
किसी भी विचार कैसे JSLint खुश करने के लिए, का समर्थन नहीं करता हम के रूप में आईई 7 और आईई 8 के रूप में होगा?
jslint happy जैसे टूल बनाना जरूरी नहीं है जब तक आप जानते हों कि आप क्या कर रहे हैं। यदि आपके मालिक इसे चाहते हैं, तो उन्हें बेवकूफ साबित करने के कुछ अच्छे उदाहरण दें। – ThiefMaster
मुझे नहीं पता कि jslint 'in' के खिलाफ क्यों अनुशंसा करता है। यह थोड़ी देर के लिए आसपास रहा है इसलिए पूर्ण समर्थन होना चाहिए और यह बहुत सहज है। प्लेसहोल्डर समर्थन के लिए, यह ठोस है: https://github.com/mathiasbynens/jquery-placeholder – ryanve