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

 

 

 

 本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/archive/2011/11/14/2248561.html,如需转载请自行联系原作者




目录
相关文章
|
1月前
|
移动开发 JavaScript 前端开发
一些处理浏览器兼容性问题的JavaScript库
这些库在处理浏览器兼容性问题方面都有着各自的特点和优势,可以根据具体的需求和项目情况选择合适的库来使用,从而提高代码的兼容性和稳定性,为用户提供更好的体验。同时,随着浏览器技术的不断发展,还需要持续关注和学习新的兼容性解决方案。
107 48
|
1月前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式
|
1月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
47 5
|
1月前
|
JavaScript 前端开发 数据处理
模板字符串和普通字符串在浏览器和 Node.js 中的性能表现是否一致?
综上所述,模板字符串和普通字符串在浏览器和 Node.js 中的性能表现既有相似之处,也有不同之处。在实际应用中,需要根据具体的场景和性能需求来选择使用哪种字符串处理方式,以达到最佳的性能和开发效率。
|
1月前
|
算法 开发者
Moment.js库是如何处理不同浏览器的时间戳格式差异的?
总的来说,Moment.js 通过一系列的技术手段和策略,有效地处理了不同浏览器的时间戳格式差异,为开发者提供了一个稳定、可靠且易于使用的时间处理工具。
39 1
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
130 1
|
2月前
|
Web App开发 JavaScript 前端开发
JavaScript Window - 浏览器对象模型
JavaScript Window - 浏览器对象模型
27 2
|
3月前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
4月前
|
JavaScript 前端开发
JavaScript BOM 的概念(浏览器对象模型)
JavaScript BOM 的概念(浏览器对象模型)
59 1
|
4月前
|
JavaScript UED
js之探索浏览器对象模型
js之探索浏览器对象模型
59 0