分类 : javascript

欢迎来到 jackNEss'窝窝
I like simple mind
  • 全屏滚动控件 fullslide

    2015年08月14日

    fullslide_polo

    本控件适用于各种手机滑动翻页专题,虽然说网上已经有同类控件,而且比较成熟。但个人认为这还是属于比较值得自己造的轮子。也顺手练练 MVVM模式。

    github地址:https://github.com/jackness1208/fullslide

    阅读全文…

  • oninput-polo

    这次来说说, 移动开发中限制字符长度的正确姿势

    按道理来说限制长度就是通过 onpropertychange 或者 oninput 监听输入内容,
    然后多的 用 substr 截取掉就可以了

    input.addEventListener('input', function(){
        this.value = this.value.substr(0, 8);
    });
    

    阅读全文…

  • emoji-polo
    有时候 为了保持 android 和 iPhone 体验上的
    一致性,我们会有这样的需求——屏蔽掉只有 iPhone 有的 特殊字符 emoji 表情

    虽然觉得挺奇怪,但是, 需求来了, 也算是合理的, 就动手实现吧。

    在贴代码之前,先说说 查询一个字符 unicode 编码的方法:

    var a = escape("杰").replace(/^\%u/g,'\u'); // \u6770
    

    原理上匹配 emoji 就是通过这方法 把 字符的 unicode 码找出来,然后用正则过滤掉。
    阅读全文…

    标签
    阅读 86 评论暂无 查看原文
  • js 对中文进行 utf8 编码

    2015年08月05日

    其实这功能 更多是用于 node 服务器接口输出数据的时候使用,因为 node 这边 的接口输出要 utf8编码 来避免 因为编码带来的问题。下面是执行代码

    /**
     * 字符串转 utf8编码
     * @param {string}  文本
     * @return {string} 转化后文本
     */
    var utf8Encode = function(str){
        if(typeof str != 'string'){
            return str;
        }
        return str.replace(/[\u4E00-\u9FA5]/g, function($1){ return "\\u" + ("00"+$1.charCodeAt().toString(16)).slice(-4);});
    }
    
  • textarea-range

    老生常谈问题之一,主要用于实现简单的表情符号插入,最近有同事遇上,发现正好也是自己的短板,赶紧梳理一下吧。

    这功能实现 分 ie 和 其他浏览器 2种方式, 值得注意的是,下面提供的方法只限于用在textarea 文本框, input 框 并不适用(IE 的错)。
    阅读全文…

  • 手机上禁止滚屏代码

    2015年07月31日
    var scrolling = {
            // 禁止滚动
            disable: function(){
                var she = this;
                if (window.addEventListener) {
                    window.addEventListener('DOMMouseScroll', she.handle, false);
                    window.addEventListener('touchmove', she.handle, false);
                    window.onmousewheel = document.onmousewheel = she.handle;
                    document.onkeydown = she.keydown;
                }
            },
            // 恢复滚动
            enable: function(){
                var she = this;
                if (window.removeEventListener) {
                    window.removeEventListener('DOMMouseScroll', she.handle, false);
                    window.removeEventListener('touchmove', she.handle, false);
                }
                window.onmousewheel = document.onmousewheel = document.onkeydown = null;
            },
            keydown: function(e){
                var keys = [37, 38, 39, 40];
                for (var i = keys.length; i--;) {
                    if (e.keyCode === keys[i]) {
                        e.preventDefault && preventDefault(e);
                        return;
                    }
                }
            },
            handle: function(e){
                e = e || window.event;
                e.returnValue = false;
                e.preventDefault && preventDefault(e);
            }
        };
    
  • lunar_polo

    最近在搞博客自动换肤功能(你就让我折腾吧),抱着农历能推算、有公式的想法去百度,发觉事情并没有想象中简单。下面我梳理出开发农历要知道的几个知识点。

    阅读全文…

    标签
    阅读 74 评论暂无 查看原文
  • html_parsing_polo

    最近开发的兼容重点来到了IE8,发现IE8 蛮多奇葩的错误的。本文提到的就是 奇葩奇葩之一,纵观 IE 个版本 只有 ie8(原生IE8,非ie x 改模式调为 ie8)这逗比会报错,心力绞碎之余。。还是要把问题解决,去片。
    阅读全文…

  • window.open知识梳理

    2014年08月01日

    open

    Window 对象

    Window 对象是 JavaScript 层级中的顶层对象。
    Window 对象代表一个浏览器窗口或一个框架。
    Window 对象会在 <body> 或 <frameset> 每次出现时被自动创建。

    open() 方法

    用于打开一个新的浏览器窗口或查找一个已命名的窗口。

    阅读全文…

  • 避免使用arguments.callee

    2014年07月20日

    近期在项目中使用jsHint,偶然发现代码中包含arguments.callee会无法通过验证。如此“高级”的特性不让用,大大降低代码的骚劲!深入了解了一番才知道其中另有乾坤。

    正在执行的函数体中arguments对象的callee属性指向该函数本身,可以用来在函数体中调用函数本身,常见的递归调用:

    function fFactorial (nNum) { 
        if (nNum <= 1) { 
           return 1; 
        } 
        return nNum * arguments.callee(nNum - 1); 
        // nNum * fFactorial(nNum - 1);
    
    }
    

    其实,这种情况下可以直接使用函数名调用fFactorial函数,而在js中使用匿名函数则无法获知函数名,arguments.callee似乎成了不二之选:

    阅读全文…

标签云

分类目录

最新留言

  • 评论加载中...

与我联系

如有疑问or建议可通过以下方式跟我取得联系.

Q Q:373435871
Email:jackness1208@gmail.com
© Copyright 2011 - 2014 jackNEss.org All Rights Reserved 粤ICP备14065612号
首页 | 关于我 | 网站地图 | RSS