123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- define("dojo/dom", ["./_base/sniff", "./_base/lang", "./_base/window"],
- function(has, lang, win){
-
-
-
-
-
- try{
- document.execCommand("BackgroundImageCache", false, true);
- }catch(e){
-
- }
-
-
-
-
-
-
-
-
- var dom = {};
- if(has("ie")){
- dom.byId = function(id, doc){
- if(typeof id != "string"){
- return id;
- }
- var _d = doc || win.doc, te = id && _d.getElementById(id);
-
-
- if(te && (te.attributes.id.value == id || te.id == id)){
- return te;
- }else{
- var eles = _d.all[id];
- if(!eles || eles.nodeName){
- eles = [eles];
- }
-
- var i = 0;
- while((te = eles[i++])){
- if((te.attributes && te.attributes.id && te.attributes.id.value == id) || te.id == id){
- return te;
- }
- }
- }
- };
- }else{
- dom.byId = function(id, doc){
-
-
- return ((typeof id == "string") ? (doc || win.doc).getElementById(id) : id) || null;
- };
- }
-
- dom.isDescendant = function(/*DOMNode|String*/node, /*DOMNode|String*/ancestor){
- try{
- node = dom.byId(node);
- ancestor = dom.byId(ancestor);
- while(node){
- if(node == ancestor){
- return true;
- }
- node = node.parentNode;
- }
- }catch(e){ }
- return false;
- };
-
-
-
-
-
-
-
-
-
- has.add("css-user-select", function(global, doc, element){
-
- if(!element){ return false; }
- var style = element.style;
- var prefixes = ["Khtml", "O", "Moz", "Webkit"],
- i = prefixes.length,
- name = "userSelect",
- prefix;
-
- do{
- if(typeof style[name] !== "undefined"){
-
- return name;
- }
- }while(i-- && (name = prefixes[i] + "UserSelect"));
-
- return false;
- });
- var cssUserSelect = has("css-user-select");
- dom.setSelectable = cssUserSelect ? function(node, selectable){
-
- dom.byId(node).style[cssUserSelect] = selectable ? "" : "none";
- } : function(node, selectable){
- node = dom.byId(node);
-
-
- var nodes = node.getElementsByTagName("*"),
- i = nodes.length;
- if(selectable){
- node.removeAttribute("unselectable");
- while(i--){
- nodes[i].removeAttribute("unselectable");
- }
- }else{
- node.setAttribute("unselectable", "on");
- while(i--){
- nodes[i].setAttribute("unselectable", "on");
- }
- }
- };
-
-
- return dom;
- });
|