1//================================================== 2// Polyfill for pseudo selector :placeholder-shown 3// Author: Subash Selvaraj(github userid:sesubash) 4//================================================== 5(function(){ 6 7 var placeholderShownPolyfill = { 8 init: function() { 9 var self = this; 10 Array.prototype.slice.call(document.querySelectorAll('[placeholder]')).forEach(function(el) { 11 if(el.getAttribute('placeholder') != "") 12 self.updatePlaceholder.call(el); 13 14 el.addEventListener('change', self.updatePlaceholder); 15 el.addEventListener('keyup', self.updatePlaceholder); 16 }); 17 }, 18 19 updatePlaceholder: function() { 20 this.classList[this.value ? 'remove' : 'add']('placeholder-shown'); 21 } 22 23 }; 24 25 if (/^[c|i]|d$/.test(document.readyState || "")) { 26 placeholderShownPolyfill.init(); 27 } else { 28 document.addEventListener("DOMContentLoaded", placeholderShownPolyfill.init()); 29 } 30 31 window.placeholderShownPolyfill = placeholderShownPolyfill; 32 33})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.