专栏首页王磊的博客js常用事件整理—兼容所有浏览器

js常用事件整理—兼容所有浏览器

1.鼠标滚动事件。

说明:返回值 大于0向上滚动,小于0向下滚动。

兼容型:所有浏览器。

代码:

/*********************** 
* 函数:鼠标滚动方向
* 参数:event 
* 返回:滚轮方向[向上(大于0)、向下(小于0)]
*************************/
var scrollFunc = function(e) {
    var direct = 0;
    e = e || window.event;
    if (e.wheelDelta) {//IE/Opera/Chrome 
        direct = e.wheelDelta;
    } else if (e.detail) {//Firefox 
        direct = e.detail;
    }
    // 返回值
    alert(direct);
}
/*注册事件*/
if (document.addEventListener) {
    document.addEventListener('DOMMouseScroll', scrollFunc, false);
}
//W3C
document.onmousewheel = scrollFunc; //IE/Opera/Chrome

2.获取滚动条高度。

兼容性:所有浏览器。

代码:

// 滚动条的高度
function getScrollTop() {
    var scrollTop = 0;
    if (document.documentElement && document.documentElement.scrollTop) {
        scrollTop = document.documentElement.scrollTop;
    }
    else if (document.body) {
        scrollTop = document.body.scrollTop;
    }
    return scrollTop;
}

3.去掉所有html文本标记的js

function delHtmlTag(str)  
{  
   return str.replace(/<[^>]+>/g,"");//去掉所有的html标记  
}

4.字节长度查询

// 返回字节长度byte
function GetBytes(obj) {
    var byteLegth = 0;
    if (null != obj) {
        for (var i = 0; i < obj.length; i++) {
            if (obj.charCodeAt(i) >= 0 && obj.charCodeAt(i) <= 255) {
                byteLegth++;
            }
            else {
                byteLegth = byteLegth + 2;
            }
        }
    }
    return byteLegth;
}

5.字节长度截取

// 字符截取
function titleSetLeg(obj) {
    var tit = jQuery(obj).val();
    var leg = 26;   // 截取长度
    if (GetBytes(tit) > leg) {
        // 字符截取操作
        for (var i = 0; i < leg; i++) {
            if (!(tit.charCodeAt(i) >= 0 && tit.charCodeAt(i) <= 255)) {
                // 汉字
                leg--;
            }
        }
        jQuery(obj).val(tit.substring(0, leg));
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • asp.net产生客户端Cookie与js操作Cookie大全

    Js操作Cookie封装的代码[各个浏览器测试兼容]: 1 function SetCookie(name, value)//两个参数,一个是cookie的名...

    Java中文社群_老王
  • nodejs与javascript中的aes加密

    简介 1.aes加密简单来说,在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世...

    Java中文社群_老王
  • NBear简介与使用图解

    NBear简介与使用图解 框架类型:ORM映射框架 简介:NBear是一个基于.Net 2.0、C#2.0开放全部源代码的的软件开发框架类库。NBear的设计目...

    Java中文社群_老王
  • View.post的切身运用

      view.post方法指的是从正在操作其他线程的时候,将制定内容推到UI线程执行。因为布局的渲染只能在UI线程中执行。

    饮水思源为名
  • 小程序可以做能打开网页的电商了「无需审核」

      小程序开放「内嵌网页」新能力,这意味着你可以在 1、小程序内可直接打开网页。2、小程序可关联 500 个公众号。3、购物专题、折扣会场、营销活动,统统可以用...

    ytkah
  • JavaScript之深拷贝和浅拷贝

    工作中会经常遇到操作数组、对象的情况,你肯定会将原数组、对象进行‘备份’ 当真正对其操作时发现备份的也发生改变,此时你一脸懵逼,到时是为啥,不是已经备份了么,怎...

    Jack Chen
  • 如果老婆 & 女朋友是程序......

    过了一个春节,场主又在线复活了!不知道大家的春节过得怎么样。催婚催生娃,问工作问工资,走亲访友必不可少,还要应付突如其来的线上BUG, 这些你都hold住了吗?...

    养码场
  • 一起来学演化计算-matlab基本函数min

    min(A)也会产生这个结果,因为'omitnan'是默认选项 使用“includes enan”标志返回NaN

    DrawSky
  • 小兔JS教程(五) 简单易懂的JSON入门

    剽悍一小兔
  • 全栈开发工程师微信小程序-中(中)

    official-account 用户扫码打开小程序,在小程序内配置公众号关注组件,快捷关注公众号.

    达达前端

扫码关注云+社区

领取腾讯云代金券