当前位置: 首页 > news >正文

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));
    }
}

 

 

 

 

 

相关文章:

  • 在cocos2d-x中编译/调试curl库
  • 分享:几款代码混淆器(DotFuscator, .NET Reactor, xenocode)
  • c#接口作用的深入理解
  • Perceptual Coding of Digital Audio
  • 转:Android 内存泄漏调试
  • nagios分布式监控中心服务器迁移(使用nsca)
  • linux网络基础配置【一】
  • python 学习笔记 标识符和变量(3)
  • 思维方法学习
  • Radar DIY
  • 设置matlab文件关联问题
  • 获得MSSQL表中的所有列字段名称的方法(存储过程)
  • EXchange 2010 SP1 实战部署之二 haijun公司拓扑介绍+部署准备
  • 创建Windows服务程序实现定时操作
  • Nginx 版本升级步骤
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【React系列】如何构建React应用程序
  • ➹使用webpack配置多页面应用(MPA)
  • 08.Android之View事件问题
  • JAVA之继承和多态
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js递归,无限分级树形折叠菜单
  • mongo索引构建
  • Mysql数据库的条件查询语句
  • SpingCloudBus整合RabbitMQ
  • ubuntu 下nginx安装 并支持https协议
  • ucore操作系统实验笔记 - 重新理解中断
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 云大使推广中的常见热门问题
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • #每天一道面试题# 什么是MySQL的回表查询
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (超详细)语音信号处理之特征提取
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (五)Python 垃圾回收机制
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)linux 命令大全
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .Net Web项目创建比较不错的参考文章
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET 服务 ServiceController
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET实现之(自动更新)
  • .Net转前端开发-启航篇,如何定制博客园主题
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • @ConditionalOnProperty注解使用说明
  • @Transactional 详解