Last active
July 4, 2018 07:09
-
-
Save gazhikaba/05651d2405480d743e8c4818e2110124 to your computer and use it in GitHub Desktop.
Javascript
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //http://stackoverflow.com/a/6416527/6065417 | |
| //Two years late, but I have the solution you're looking for. Not intending to take credit form the original author, here's a plugin which I found works exceptionally well for what you need, but gets all possible styles in all browsers, even IE. | |
| //Warning: This code generates a lot of output, and should be used sparingly. It not only copies all standard CSS properties, but also all vendor CSS properties for that browser. | |
| //jquery.getStyleObject.js: | |
| /* | |
| * getStyleObject Plugin for jQuery JavaScript Library | |
| * From: http://upshots.org/?p=112 | |
| */ | |
| (function($){ | |
| $.fn.getStyleObject = function(){ | |
| var dom = this.get(0); | |
| var style; | |
| var returns = {}; | |
| if(window.getComputedStyle){ | |
| var camelize = function(a,b){ | |
| return b.toUpperCase(); | |
| }; | |
| style = window.getComputedStyle(dom, null); | |
| for(var i = 0, l = style.length; i < l; i++){ | |
| var prop = style[i]; | |
| var camel = prop.replace(/\-([a-z])/g, camelize); | |
| var val = style.getPropertyValue(prop); | |
| returns[camel] = val; | |
| }; | |
| return returns; | |
| }; | |
| if(style = dom.currentStyle){ | |
| for(var prop in style){ | |
| returns[prop] = style[prop]; | |
| }; | |
| return returns; | |
| }; | |
| return this.css(); | |
| } | |
| })(jQuery); | |
| //Basic usage is pretty simple, but he's written a function for that as well: | |
| $.fn.copyCSS = function(source){ | |
| var styles = $(source).getStyleObject(); | |
| this.css(styles); | |
| } | |
| //Hope that helps. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // http://stackoverflow.com/a/4033310/6065417 | |
| // You can use functions provided by the hosting environment through javascript: | |
| function httpGet(theUrl) | |
| { | |
| var xmlHttp = new XMLHttpRequest(); | |
| xmlHttp.open( "GET", theUrl, false ); // false for synchronous request | |
| xmlHttp.send( null ); | |
| return xmlHttp.responseText; | |
| } | |
| // However, synchronous requests are discouraged, so you might want to use this instead: | |
| function httpGetAsync(theUrl, callback) | |
| { | |
| var xmlHttp = new XMLHttpRequest(); | |
| xmlHttp.onreadystatechange = function() { | |
| if (xmlHttp.readyState == 4 && xmlHttp.status == 200) | |
| callback(xmlHttp.responseText); | |
| } | |
| xmlHttp.open("GET", theUrl, true); // true for asynchronous | |
| xmlHttp.send(null); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //https://stackoverflow.com/questions/42427606/event-when-input-value-is-changed-by-javascript | |
| function customInputSetter(){ | |
| var descriptor = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value"); | |
| var originalSet = descriptor.set; | |
| // define our own setter | |
| descriptor.set = function(val) { | |
| console.log("Value set", this, val); | |
| originalSet.apply(this,arguments); | |
| } | |
| Object.defineProperty(HTMLInputElement.prototype, "value", descriptor); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment