工作中遇到的js错误(随时补充)

自己在工作中,写js的时候经常遇到一些不符合预期的错误,特此记录下来:

  1.火狐和谷歌关于keycode事件的兼容:写了一段js控制输入框只能输入数字,但是发现在谷歌浏览器就可以使用,但是放到火狐里面就是不能输入数字。

    

 $(".money").live("keypress", function (event) {

            var e = event ? event :(window.event ? window.event : null);
            var keyCode=e.keyCode;
            if ((keyCode >= 48 && keyCode <= 57) || keyCode == 8) {
            } else {
                return false;
            }
        })

此段代码在火狐里面,就是不能输入数字,然后发现每次输出keyCode发现都是为0,感觉获取keyCode出错了,于是再查资料发现,火狐的keyCode和谷歌的获取方式不一样。因此代码修改为:

 $(".money").live("keypress", function (event) {

            var e = event ? event :(window.event ? window.event : null);
            var keyCode=0;
            //此处不同
            keyCode=e.keyCode||e.which||e.charCode;

            if ((keyCode >= 48 && keyCode <= 57) || keyCode == 8) {
            } else {
                return false;
            }
        })    

这样的话就可以兼容谷歌和火狐限制输入数字。当然如果粘贴复制过去就不能控制了,因此在输完之后应该也做一次校验。

  2.关于js数字大小比较问题:

    

1 var first = ‘1234‘;
2 var second = ‘132‘;
3 console.log(first < second); //true

这是因为这是字符串比较,按照一个字母一个字母比较,比较第一个字母1,相等,第二个字母3>2,所以为true;

平时用jquery获取输入框里面的值其实都是这种形式如果直接比较肯定出错。需要先换成数字比较

var first = ‘1234‘;
var second = ‘132‘;
console.log(parseInt(second) < parseInt(first)); // true

//等同于
var first = 1234;
var second = 132;
console.log(second < first); //true

原文地址:https://www.cnblogs.com/xuyd1108/p/9159810.html

时间: 2024-10-23 09:39:57

工作中遇到的js错误(随时补充)的相关文章

总结:工作中常用的js自定义函数

<一>日期时间类 //设置时间类 var Wsdatatime = function(){ this.today = (new Date()).getTime(); //当前时间 } Wsdatatime.prototype={ setTime:function(p,bz){ var preDate = new Date( this.today +p*24*60*60*1000); var y = preDate.getFullYear(); var m = preDate.getMonth(

搭建前端监控系统(二)JS错误日志收集篇

===================代码展示================    监控系统地址: Demo地址                          页面探针代码: GitHub地址             分析后台地址: GitHub地址                        展示平台地址: GitHub地址                        ===================代码展示================ 对于前端应用来说,Js错误的发生直接

随机记录工作中常见的sql用法错误(一)

没事开始写博客,留下以前工作中常用的笔记,内容不全或者需要补充的可以留言,我只写我常用的. 网上很多类似动软生成器的小工具,这类工具虽然在表关系复杂的时候没什么软用,但是在一些简单的表结构关系还是很方便的.想起以前开始工作的时候经常犯的错误. 现在就写个简单的错误,大神可能一眼就看出来了,不过新手需要了解一下的. Create table UC_counter { id INT IDENTITY(1, 1) PRIMARY KEY, memberid int } Create table UC_

你在工作中无意间会犯的四个错误

4 Work Mistakes You Don't Realize You're Making你在工作中无意间会犯的四个错误When you’re the new girl at work, you do everything in your power to stay on your best behavior. You show up to the office early, leave late, dress conservatively, and absolutely never, ev

eclipse中加放js文件报js语法错误解决办法

1) eclipse设置         window->preference-> JavaScript -> Validator->Errors/Warnings->Enable Javascript Sematic validation前面的钩号去掉 2) .project文件    下面的代码删除 <buildCommand> <name>org.eclipse.wst.jsdt.core.javascriptValidator</name

在MyEclipse中如何去掉JS或jsp语法错误提示!

在MyEclipse中如何去掉JS或jsp语法错误提示! 关于在 MyEclipse 上 WEB 工程里面的 JS/JSP 经常会有语法错误提示,这是由于 MyEclipse 对其语法要求相当严格所造成的,而这些文件本身是可以运行并没有什么错误的,在你实际应用部署中并无影响 . 此问题解决办法有两种: 一.就是您不用去管它提示,直接部署到你的 WEB 容器上运行是可以的,但此方法欠妥当. 二.选择你的工程右击菜单-- > 点击 MyEclipse 菜单项的 Exclude From Valida

工作中比较实用的js验证和数据处理的干货

在开发web项目的时候,难免遇到各种对网页数据的处理,比如对用户在表单中输入的电话号码.邮箱.金额.身份证号.密码长度和复杂程度等等的验证,以及对后台返回 数据的格式化比如金额,返回的值为null,还有对指定日期之前或之后某一天或某一月的计算. 遇到需要对数据及表单验证的,我相信大家都像我一样,喜欢在网上找相关的方法,因为自己写的话,是比较耗时的.今天就给大家分享一下,自己在工作中总结的一些常用 的js. /** * 验证密码复杂度(必须包含数字字母) * @param str * @retur

原生js(form)验证,可以借鉴下思路,应用到工作中

我在工作中时常使用form验证,在目前的公司做的表单验证用的angular的form组件,对于一个有追求的前端,或者应用在移动端写个form验证,引入angular或者jquery组件等验证,难免显得臃肿,最好是原生js吧,轻量.幸运 的等到这一课,加上之前所学,慢慢融合根据需求,应用到工作项目中... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR

记录下工作中使用的pdf.js

在工作中遇到一个通过网页的形式浏览pdf文件以及图片的需求,图片简单,直接通过网页的形式打开这个图片的URL即可.而pdf这边,通过查询发现有一个名为pdf.js的神器. 简单介绍下,它可以在html中直接浏览pdf文件,pdf的每一页数据,通过H5的canvas进行解析,以及显示.其中还可以操作页数.滚动.打印.下载等功能.git上的地址为:http://mozilla.github.io/pdf.js/ 网上的文档资料很多,就不记录了,直接留存通用代码. <!DOCTYPE html> &