util-7.鍵盤操作相關(keyCodeUtil)

/**
 * ========================code操作========================
 */
var keyCodeUtil = {
    /**
     * 源碼愛好者代碼提取
     * @param objname
     * @returns {HTMLElement}
     */
  "$" : function(objname){
    return document.getElementById(objname);
  },
    /**
     * 運行代碼,打開新窗口
     * @param objname
     */
  "runCode" : function(objname) {
      var winname = window.open('', "_blank", '');
      var obj = $(objname);
      winname.document.open('text/html', 'replace');
      winname.opener = null // 防止代碼對論談頁面修改
      winname.document.write(obj.value);
      winname.document.close();
  },
    /**
     * 保存代碼
     * @param objname
     */
  "saveCode" : function(objname){
      var winname = window.open('', '_blank', 'top=10000');
      winname.document.open('text/html', 'replace');
      var obj = $(objname);
      winname.document.write(obj.value);
      winname.document.execCommand('saveas','','code.htm');
      winname.close();
  },
    /**
     * 複製代碼
     * @param objname
     */
  "onCopy" : function(objname){
      var e=document.getElementById(objname); //對象是contents 
          e.select(); //選擇對象 
      document.execCommand("Copy"); //執行瀏覽器複製命令
      alert("代碼已經被成功複製!");

      /*
        //html
        <div class="table_cell tl m_id">                       
            <div class="t_icontent">{{x.template_id}}</div>
            <input type="text" value="{{x.template_id}}" class="t_input" />
            <a href="javascript:void(0);" class="btntempidcopy">複製</a>
        </div>
        
        //css:複製前,input輸入框需要設置成顯示狀態,並且需要有高度和寬度
        .t_input{color:#fff;border: none;background: none;outline: none;width:1px;height:1px;}
        
       //js複製模板編號
       $(document).on("click",".btntempidcopy",function(){
         var tempid = $(this).siblings(".t_icontent").html();
         var $textelem = $(this).siblings(".t_input");
          $textelem.val(tempid);
          $textelem.focus();
            $textelem.select();
            if (document.execCommand('Copy')) {
                document.execCommand('Copy', false, null);
                alert('複製成功!');
            } else {
              alert('複製失敗!');
            } 
            $textelem.blur();
       });
      */
  },

    /**
     * 清除選擇
     * @returns {any}
     */
  "clearSelection" : function(){
     return window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
  },

    /**
     * 瀏覽器進入全屏(必須綁定點擊事件才能觸發)
         eg: requestFullScreen($(".content")[0]) // 某個頁面元素
         requestFullScreen(document.documentElement);// 整個網頁
     * @param element
     */
  "requestFullScreen": function(element){
    var requestMethod = 
        element.requestFullScreen ||   //W3C
        element.webkitRequestFullScreen ||  //Chrome等
        element.mozRequestFullScreen ||  //FireFox
        element.msRequestFullscreen;  //IE11
    if (requestMethod) { 
      requestMethod.call(element);
    }else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorer
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript !== null) {
            wscript.SendKeys("{F11}");
        }
    }else { 
      alert("您的瀏覽器過舊,不支持全屏功能!");
    } 
  },

    /**
     * 退出全屏
     */
  "exitFull": function() {
    // 判斷各種瀏覽器,找到正確的方法
    var exitMethod = 
      document.exitFullscreen || //W3C
      document.mozCancelFullScreen ||    //Chrome等
      document.webkitExitFullscreen || //FireFox
      document.webkitExitFullscreen; //IE11
    if (exitMethod) {
        exitMethod.call(document);
    }
    else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorer
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript !== null) {
            wscript.SendKeys("{F11}");
        }
    }else { 
      alert("您的瀏覽器過舊,不支持全屏功能!");
    } 
  }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章