<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MajorMayer]]></title><description><![CDATA[程序员的自我修养！]]></description><link>https://blog.csdn.net/MajorMayer</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; MajorMayer]]></copyright><item><title><![CDATA[Nanui 触摸屏输入框无法输入问题解决办法]]></title><link>https://blog.csdn.net/MajorMayer/article/details/120155901</link><guid>https://blog.csdn.net/MajorMayer/article/details/120155901</guid><author>MajorMayer</author><pubDate>Tue, 07 Sep 2021 13:22:13 +0800</pubDate><description><![CDATA[Nanui 触摸屏输入框无法输入问题解决办法原因如何解决第一第二
原因
如果在nanui 的 window 意外还额外打开了别的 winform 窗体
就很有可能导致 明明input输入框已经获得了焦点 却始终无法输入的问题
如何解决
只需要在 nanui 窗体 失去焦点的时候 ， 在让其获得焦点即可
但是这样有一个缺点就是 打开的调试窗口 也会被nanui 窗口覆盖导致无法调试
所以，在debug的时候 建议关闭防失焦处理
第一
在nanui mainwindow 的 OnReady 下添加代码：
pro]]></description><category></category></item><item><title><![CDATA[Jquery中Deferred实现函数数组并发]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048526</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048526</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 10:03:12 +0800</pubDate><description><![CDATA[//定义一个数组，用于装需要并发的函数
var apisPost = [];
//往里面装异步的函数
apisPost.push(function () {
    var dtd = $.Deferred();
    //封装的ajax请求
    api.apiFn('url', {}, function (d) {
        //ajax请求成功resolve
        dtd.]]></description><category></category></item><item><title><![CDATA[JS 封装实现根据开始时间算出当前第几周]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048512</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048512</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 10:02:24 +0800</pubDate><description><![CDATA[function TodayInfo(start,today) {
    var WEEKLEN = 7,
        WEEKDAYS = [
            '日',
            '一',
            '二',
            '三',
            '四',
            '五',
            '六']]></description><category></category></item><item><title><![CDATA[JS判断2个时间是否在同一周]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048485</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048485</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 10:00:38 +0800</pubDate><description><![CDATA[function isSameWeek(old, now) {
    var oneDayTime = 1000 * 60 * 60 * 24;
    var old_count = parseInt(+old / oneDayTime);
    var now_other = parseInt(+now / oneDayTime);
    return parseInt((old_coun]]></description><category></category></item><item><title><![CDATA[JS控制全屏]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048482</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048482</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 10:00:25 +0800</pubDate><description><![CDATA[//开启全屏
function fullScreen(el) {
    var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen,
        wscript;    if (typeof rfs != "undefined"]]></description><category></category></item><item><title><![CDATA[JS 计算时间差【单位：分钟】]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048459</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048459</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 09:59:22 +0800</pubDate><description><![CDATA[//时间格式化
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1,
        "d+": this.getDate(),
        "h+": this.getHours(),
        "m+": this.getMinutes(),
        "]]></description><category></category></item><item><title><![CDATA[JS 深复制对象 【克隆】]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048450</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048450</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 09:58:53 +0800</pubDate><description><![CDATA[var cloneObj = function (obj) {
    var str, newobj = obj.constructor === Array ? [] : {};
    if (typeof obj !== 'object') {
        return;
    } else if (window.JSON) {
        str = JSON.stringify(]]></description><category></category></item><item><title><![CDATA[JS 阿拉伯数字转中文简体]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048443</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048443</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 09:58:33 +0800</pubDate><description><![CDATA[function intToChinese(str) {
    str = str + '';
    var len = str.length - 1;
    var idxs = ['', '十', '百', '千', '万', '十', '百', '千', '亿', '十', '百', '千', '万', '十', '百', '千', '亿'];
    var num = ['零', ']]></description><category></category></item><item><title><![CDATA[JS 计算当前浏览器的滚动条宽度]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048433</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048433</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 09:58:11 +0800</pubDate><description><![CDATA[function getScrollbarWidth() {
    var oP = document.createElement('p'),
        styles = {
            width: '100px',
            height: '100px',
            overflowY: 'scroll'
        }, i, scroll]]></description><category></category></item><item><title><![CDATA[JS 数组模糊搜索]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048421</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048421</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 09:57:44 +0800</pubDate><description><![CDATA[function searchList(str, container) {
    var newList = [];
    //新的列表
    var startChar = str.charAt(0);
    //开始字符
    var strLen = str.length;
    //查找符串的长度
    for (var i = 0; i < container.length;]]></description><category></category></item><item><title><![CDATA[JS根据传入日期算出当前周一到周日的日期数组]]></title><link>https://blog.csdn.net/MajorMayer/article/details/78048409</link><guid>https://blog.csdn.net/MajorMayer/article/details/78048409</guid><author>MajorMayer</author><pubDate>Thu, 21 Sep 2017 09:56:57 +0800</pubDate><description><![CDATA[var utiljs = {};
utiljs.weekComputedfn = {
    dates: [],
    formatDate: function (date) {
        var year = date.getFullYear() + '/';
        var month = (date.getMonth() + 1) + '/';
        var day]]></description><category></category></item><item><title><![CDATA[javascript Thunk深入解析]]></title><link>https://blog.csdn.net/MajorMayer/article/details/53306822</link><guid>https://blog.csdn.net/MajorMayer/article/details/53306822</guid><author>MajorMayer</author><pubDate>Wed, 23 Nov 2016 16:14:33 +0800</pubDate><description><![CDATA[一步步打造thunkify
  本文原作者: zhangguixu 
  原文地址:Thunk深入解析
诞生背景Thunk函数的诞生是源于一个编译器设计的问题：求值策略，即函数的参数到底应该何时求值。例如：var x = 1;
function f(m) {
    return m * 2;
}
f(x + 5);其中x+5这个表达式应该什么时候求值，有两种思路
传值调用(call by valu]]></description><category></category></item><item><title><![CDATA[deviceOne实现popMenu]]></title><link>https://blog.csdn.net/MajorMayer/article/details/53286760</link><guid>https://blog.csdn.net/MajorMayer/article/details/53286760</guid><author>MajorMayer</author><pubDate>Tue, 22 Nov 2016 15:36:20 +0800</pubDate><description><![CDATA[DeviceOne Make a popMenu使用DeviceOne可以快速实现APP原型UI开发,其中很多通用模块开发使用DeviceOne来开发也显得非常简单：
UI层面  使用DeviceOne开发UI是很简单的,可以向ASP NET开发一样拖拽控件,所以不过多描述 
  实现的UI效果: 
   
  我们需要点击选择类型弹出一个popMenu 也被叫做 ActionSheet代码层面]]></description><category></category></item><item><title><![CDATA[javascript设计模式-观察者模式]]></title><link>https://blog.csdn.net/MajorMayer/article/details/53260276</link><guid>https://blog.csdn.net/MajorMayer/article/details/53260276</guid><author>MajorMayer</author><pubDate>Mon, 21 Nov 2016 15:57:36 +0800</pubDate><description><![CDATA[javascript设计模式-观察者模式观察者模式又名”发布&订阅者模式” , 在js中该模式使用频率应该最高!因为我们平时对dom的onclick就是观察者模式!button1.onclick  =  function BtnClick (){
   alert ( 'hello word' )
}
  button1的点击事件是订阅者 订阅了 BtnClick 事件. BtnClick 是发布者]]></description><category></category></item><item><title><![CDATA[javascript设计模式-简单工厂模式]]></title><link>https://blog.csdn.net/MajorMayer/article/details/53256500</link><guid>https://blog.csdn.net/MajorMayer/article/details/53256500</guid><author>MajorMayer</author><pubDate>Mon, 21 Nov 2016 09:56:18 +0800</pubDate><description><![CDATA[javascript设计模式-简单工厂模式简单工厂模式是由一个方法来决定到底要创建哪个类的实例, 这些实例都拥有相同的函数入口. 这种模式可以很好的解决不确定同一类型操作下的不同处理,将同一类型操作的工厂化,之后在需要的时候让工厂加工即可。 就好像，看电视,电视里面有很多频道,无论看哪个频道 , 都是在看电视,而具体看什么电视 , 就看你选择什么频道。
示例代码
var TV= whcthTV(op]]></description><category></category></item><item><title><![CDATA[根据数组生成联动菜单树]]></title><link>https://blog.csdn.net/MajorMayer/article/details/52385993</link><guid>https://blog.csdn.net/MajorMayer/article/details/52385993</guid><author>MajorMayer</author><pubDate>Wed, 31 Aug 2016 16:01:20 +0800</pubDate><description><![CDATA[根据数组生成联动菜单树一级Id为负数、parentId为空，二级parentId等于一级id，三级parentId等于二级id：[{"name": "广东","Id": -1,"parentId": null},
{"name": "湖北","Id": -2,"parentId": null},
{"name": "广州","Id": 44,"parentId": -1},
{"name": "武汉]]></description><category></category></item><item><title><![CDATA[Javascript 二维数组去重]]></title><link>https://blog.csdn.net/MajorMayer/article/details/52036459</link><guid>https://blog.csdn.net/MajorMayer/article/details/52036459</guid><author>MajorMayer</author><pubDate>Tue, 26 Jul 2016 15:39:01 +0800</pubDate><description><![CDATA[[[a,1],[b,2],[a,2]] 去除[a,2]
输入一串url 和一个待去除参数，输出筛选后的结果，第二个参数缺省的话，去除重复部分。stripUrlParams('www.codewars.com?a=1&b=2&a=2', ['b']) 
// returns 'www.codewars.com?a=1'思路是先将querry参数变成二维数组再去重，对象的键值是唯一的，将参数转化为数组后]]></description><category></category></item><item><title><![CDATA[jquery安卓手机按键监听]]></title><link>https://blog.csdn.net/MajorMayer/article/details/52036336</link><guid>https://blog.csdn.net/MajorMayer/article/details/52036336</guid><author>MajorMayer</author><pubDate>Tue, 26 Jul 2016 15:28:17 +0800</pubDate><description><![CDATA[$(document).keyup(function (event) {
    if(event.keyCode==0x4){
         //按下返回键后执行代码0x4对应返回键
    }
});安卓常用键值码：KEYCODE_CALL 拨号键 5KEYCODE_ENDCALL 挂机键 6KEYCODE_HOME 按键Home 3KEYCODE_MENU 菜单键 82KEYCODE_BA]]></description><category></category></item><item><title><![CDATA[javascript 0000000序列递增算法]]></title><link>https://blog.csdn.net/MajorMayer/article/details/52036152</link><guid>https://blog.csdn.net/MajorMayer/article/details/52036152</guid><author>MajorMayer</author><pubDate>Tue, 26 Jul 2016 15:18:33 +0800</pubDate><description><![CDATA[举个栗子：0000000递增，格式是这样的：0000001
0000002
0000003
.....递增到10
0000010
.....递增到100
0000100
.....递增到100000
0100000先算数字的长度，然后在前边补零。现在是到100，你可以把i改到100000for (var i = 0 ; i <= 100; i ++){
  var zero = "";
  for]]></description><category></category></item><item><title><![CDATA[mysql 计算某个时间，多少天后，多少个月后时间戳]]></title><link>https://blog.csdn.net/MajorMayer/article/details/52035915</link><guid>https://blog.csdn.net/MajorMayer/article/details/52035915</guid><author>MajorMayer</author><pubDate>Tue, 26 Jul 2016 15:07:00 +0800</pubDate><description><![CDATA[id
  start_time
  period_ytpe
  period_value  1
  1461427200
  day
  3
  2
  1461427200
  month
  2
如上表， 
start_time 表示开始时间， 
period_ytpe 表示期限类型， 
period_value表示期限值，第一第记录表是 3天，第二条表示2个月如果查询出，从start_time]]></description><category></category></item></channel></rss>