萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JavaScript簡單實現鼠標拖動選擇功能

JavaScript簡單實現鼠標拖動選擇功能

 本篇文章主要是對JavaScript簡單實現鼠標拖動選擇功能的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助

代碼如下: <style><!-- body{padding-top:50px;padding-left:100px;padding-right:150px;}   .fileDiv{float:left;width:100px;height:100px;text-align:center;line-height:100px;font-size:12px;border:1px solid #cccccc;margin-right:10px;margin-bottom:10px;}   .seled{border:1px solid #ff0000;background-color:#D6DFF7;} --></style> <script type="text/javascript">// <![CDATA[ Array.prototype.remove = function( item ){   for( var i = 0 ; i < this.length ; i++ ){    if( item == this[i] )     break;   }   if( i == this.length )    return;   for( var j = i ; j < this.length - 1 ; j++ ){    this[ j ] = this[ j + 1 ];   }   this.length--;   }    String.prototype.replaceAll = function (AFindText,ARepText){ raRegExp = new RegExp(AFindText,"g"); return this.replace(raRegExp,ARepText);}  function getAllChildren(e) {   return e.all ? e.all : e.getElementsByTagName('*'); }   document.getElementsBySelector = function(selector) {   if (!document.getElementsByTagName) {     return new Array();   }   var tokens = selector.split(' ');   var currentContext = new Array(document);   for (var i = 0; i < tokens.length; i++) {     token = tokens[i].replace(/^s+/,'').replace(/s+$/,'');;     if (token.indexOf('#') > -1) {       var bits = token.split('#');       var tagName = bits[0];       var id = bits[1];       var element = document.getElementById(id);       if (tagName  &&  element.nodeName.toLowerCase() != tagName) {         return new Array();       }       currentContext = new Array(element);       continue;      }     if (token.indexOf('.') > -1) {         var bits = token.split('.');       var tagName = bits[0];       var className = bits[1];       if (!tagName) {         tagName = '*';       }         var found = new Array;       var foundCount = 0;       for (var h = 0; h < currentContext.length; h++) {         var elements;         if (tagName == '*') {             elements = getAllChildren(currentContext[h]);         } else {             elements = currentContext[h].getElementsByTagName(tagName);         }         for (var j = 0; j < elements.length; j++) {           found[foundCount++] = elements[j];         }       }       currentContext = new Array;       var currentContextIndex = 0;       for (var k = 0; k < found.length; k++) {         if (found[k].className  &&  found[k].className.match(new RegExp('b'+className+'b'))) {           currentContext[currentContextIndex++] = found[k];         }       }       continue;     }     if (token.match(/^(w*)[(w+)([=~|^$*]?)=?"?([^]"]*)"?]$/)) {       var tagName = RegExp.$1;       var attrName = RegExp.$2;       var attrOperator = RegExp.$3;       var attrValue = RegExp.$4;       if (!tagName) {         tagName = '*';       }       var found = new Array;       var foundCount = 0;       for (var h = 0; h < currentContext.length; h++) {         var elements;         if (tagName == '*') {             elements = getAllChildren(currentContext[h]);         } else {             elements = currentContext[h].getElementsByTagName(tagName);         }         for (var j = 0; j < elements.length; j++) {           found[foundCount++] = elements[j];         }       }       currentContext = new Array;       var currentContextIndex = 0;       var checkFunction;        switch (attrOperator) {         case '=':           checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };           break;         case '~':            checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('b'+attrValue+'b'))); };           break;         case '|':           checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };           break;         case '^':           checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };           break;         case '$':            checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };           break;         case '*':            checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };           break;         default :           checkFunction = function(e) { return e.getAttribute(attrName); };       }       currentContext = new Array;       var currentContextIndex = 0;       for (var k = 0; k < found.length; k++) {         if (checkFunction(found[k])) {           currentContext[currentContextIndex++] = found[k];         }       }       continue;     }     tagName = token;     var found = new Array;     var foundCount = 0;     for (var h = 0; h < currentContext.length; h++) {       var elements = currentContext[h].getElementsByTagName(tagName);       for (var j = 0; j < elements.length; j++) {         found[foundCount++] = elements[j];       }     }     currentContext = found;   }   return currentContext; }    function addEvent(eventType,eventFunc,eventObj){     eventObj = eventObj || document;     if(window.attachEvent)  eventObj.attachEvent("on"+eventType,eventFunc);      if(window.addEventListener) eventObj.addEventListener(eventType,eventFunc,false);   } function clearEventBubble(evt){    evt = evt || window.event;     if (evt.stopPropagation) evt.stopPropagation(); else evt.cancelBubble = true;       if (evt.preventDefault)  evt.preventDefault();  else evt.returnValue = false; }   function posXY(event){
copyright © 萬盛學電腦網 all rights reserved