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

本文详细介绍了JavaScript中鼠标滚动事件的实现方法,包括如何判断滚动方向以及获取滚动条高度,并展示了如何使用正则表达式去除HTML文本标记。此外,还提供了一个字符截取函数,用于在指定字节长度内限制文本输入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值