summaryrefslogtreecommitdiff
path: root/lib/dojo/dom-attr.js.uncompressed.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dojo/dom-attr.js.uncompressed.js')
-rw-r--r--lib/dojo/dom-attr.js.uncompressed.js220
1 files changed, 0 insertions, 220 deletions
diff --git a/lib/dojo/dom-attr.js.uncompressed.js b/lib/dojo/dom-attr.js.uncompressed.js
deleted file mode 100644
index fd02765f8..000000000
--- a/lib/dojo/dom-attr.js.uncompressed.js
+++ /dev/null
@@ -1,220 +0,0 @@
-define("dojo/dom-attr", ["exports", "./sniff", "./_base/lang", "./dom", "./dom-style", "./dom-prop"],
- function(exports, has, lang, dom, style, prop){
- // module:
- // dojo/dom-attr
- // summary:
- // This module defines the core dojo DOM attributes API.
-
- // TODOC: summary not showing up in output see https://github.com/csnover/js-doc-parse/issues/42
-
- // =============================
- // Element attribute Functions
- // =============================
-
- // This module will be obsolete soon. Use dojo/prop instead.
-
- // dojo.attr() should conform to http://www.w3.org/TR/DOM-Level-2-Core/
-
- // attribute-related functions (to be obsolete soon)
-
- var forcePropNames = {
- innerHTML: 1,
- className: 1,
- htmlFor: has("ie"),
- value: 1
- },
- attrNames = {
- // original attribute names
- classname: "class",
- htmlfor: "for",
- // for IE
- tabindex: "tabIndex",
- readonly: "readOnly"
- };
-
- function _hasAttr(node, name){
- var attr = node.getAttributeNode && node.getAttributeNode(name);
- return attr && attr.specified; // Boolean
- }
-
- // There is a difference in the presence of certain properties and their default values
- // between browsers. For example, on IE "disabled" is present on all elements,
- // but it is value is "false"; "tabIndex" of <div> returns 0 by default on IE, yet other browsers
- // can return -1.
-
- exports.has = function hasAttr(/*DOMNode|String*/ node, /*String*/ name){
- // summary:
- // Returns true if the requested attribute is specified on the
- // given element, and false otherwise.
- // node: DOMNode|String
- // id or reference to the element to check
- // name: String
- // the name of the attribute
- // returns: Boolean
- // true if the requested attribute is specified on the
- // given element, and false otherwise
-
- var lc = name.toLowerCase();
- return forcePropNames[prop.names[lc] || name] || _hasAttr(dom.byId(node), attrNames[lc] || name); // Boolean
- };
-
- exports.get = function getAttr(/*DOMNode|String*/ node, /*String*/ name){
- // summary:
- // Gets an attribute on an HTML element.
- // description:
- // Handles normalized getting of attributes on DOM Nodes.
- // node: DOMNode|String
- // id or reference to the element to get the attribute on
- // name: String
- // the name of the attribute to get.
- // returns:
- // the value of the requested attribute or null if that attribute does not have a specified or
- // default value;
- //
- // example:
- // | // get the current value of the "foo" attribute on a node
- // | dojo.getAttr(dojo.byId("nodeId"), "foo");
- // | // or we can just pass the id:
- // | dojo.getAttr("nodeId", "foo");
-
- node = dom.byId(node);
- var lc = name.toLowerCase(),
- propName = prop.names[lc] || name,
- forceProp = forcePropNames[propName],
- value = node[propName]; // should we access this attribute via a property or via getAttribute()?
-
- if(forceProp && typeof value != "undefined"){
- // node's property
- return value; // Anything
- }
- if(propName != "href" && (typeof value == "boolean" || lang.isFunction(value))){
- // node's property
- return value; // Anything
- }
- // node's attribute
- // we need _hasAttr() here to guard against IE returning a default value
- var attrName = attrNames[lc] || name;
- return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything
- };
-
- exports.set = function setAttr(/*DOMNode|String*/ node, /*String|Object*/ name, /*String?*/ value){
- // summary:
- // Sets an attribute on an HTML element.
- // description:
- // Handles normalized setting of attributes on DOM Nodes.
- //
- // When passing functions as values, note that they will not be
- // directly assigned to slots on the node, but rather the default
- // behavior will be removed and the new behavior will be added
- // using `dojo.connect()`, meaning that event handler properties
- // will be normalized and that some caveats with regards to
- // non-standard behaviors for onsubmit apply. Namely that you
- // should cancel form submission using `dojo.stopEvent()` on the
- // passed event object instead of returning a boolean value from
- // the handler itself.
- // node: DOMNode|String
- // id or reference to the element to set the attribute on
- // name: String|Object
- // the name of the attribute to set, or a hash of key-value pairs to set.
- // value: String?
- // the value to set for the attribute, if the name is a string.
- // returns:
- // the DOM node
- //
- // example:
- // | // use attr() to set the tab index
- // | dojo.setAttr("nodeId", "tabIndex", 3);
- //
- // example:
- // Set multiple values at once, including event handlers:
- // | dojo.setAttr("formId", {
- // | "foo": "bar",
- // | "tabIndex": -1,
- // | "method": "POST",
- // | "onsubmit": function(e){
- // | // stop submitting the form. Note that the IE behavior
- // | // of returning true or false will have no effect here
- // | // since our handler is connect()ed to the built-in
- // | // onsubmit behavior and so we need to use
- // | // dojo.stopEvent() to ensure that the submission
- // | // doesn't proceed.
- // | dojo.stopEvent(e);
- // |
- // | // submit the form with Ajax
- // | dojo.xhrPost({ form: "formId" });
- // | }
- // | });
- //
- // example:
- // Style is s special case: Only set with an object hash of styles
- // | dojo.setAttr("someNode",{
- // | id:"bar",
- // | style:{
- // | width:"200px", height:"100px", color:"#000"
- // | }
- // | });
- //
- // example:
- // Again, only set style as an object hash of styles:
- // | var obj = { color:"#fff", backgroundColor:"#000" };
- // | dojo.setAttr("someNode", "style", obj);
- // |
- // | // though shorter to use `dojo.style()` in this case:
- // | dojo.setStyle("someNode", obj);
-
- node = dom.byId(node);
- if(arguments.length == 2){ // inline'd type check
- // the object form of setter: the 2nd argument is a dictionary
- for(var x in name){
- exports.set(node, x, name[x]);
- }
- return node; // DomNode
- }
- var lc = name.toLowerCase(),
- propName = prop.names[lc] || name,
- forceProp = forcePropNames[propName];
- if(propName == "style" && typeof value != "string"){ // inline'd type check
- // special case: setting a style
- style.set(node, value);
- return node; // DomNode
- }
- if(forceProp || typeof value == "boolean" || lang.isFunction(value)){
- return prop.set(node, name, value);
- }
- // node's attribute
- node.setAttribute(attrNames[lc] || name, value);
- return node; // DomNode
- };
-
- exports.remove = function removeAttr(/*DOMNode|String*/ node, /*String*/ name){
- // summary:
- // Removes an attribute from an HTML element.
- // node: DOMNode|String
- // id or reference to the element to remove the attribute from
- // name: String
- // the name of the attribute to remove
-
- dom.byId(node).removeAttribute(attrNames[name.toLowerCase()] || name);
- };
-
- exports.getNodeProp = function getNodeProp(/*DomNode|String*/ node, /*String*/ name){
- // summary:
- // Returns an effective value of a property or an attribute.
- // node: DOMNode|String
- // id or reference to the element to remove the attribute from
- // name: String
- // the name of the attribute
- // returns:
- // the value of the attribute
-
- node = dom.byId(node);
- var lc = name.toLowerCase(), propName = prop.names[lc] || name;
- if((propName in node) && propName != "href"){
- // node's property
- return node[propName]; // Anything
- }
- // node's attribute
- var attrName = attrNames[lc] || name;
- return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything
- };
-});