jQuery 3.0中存在问题及解决办法
jQuery 前阶段推出了3.0版本,改动非常大,如果要使用 3.0 的话,建议先仔细了解一下新特性,否则会引起一些小问题,例如下面的代码。
大家对jQuery 3.0十大新特性不了解的朋友可以参考下本篇文章。
<html> <head> <meta charset="utf-8"> <script src="jquery-3.0.min.js"></script> <script> $(function (){ $('#container').html('你好'); }) </script> </head> <body> <div id="container"></div> </body> </html>
非常简单,此时没有任何问题,可以正常显示内容,但如果 $(function (){... }) 内部出现异常,让人困扰的问题便来了
添加一个异常后的状态
$(function (){ throw new Error('出错了'); $('#container').html('你好'); });
页面不显示内容是正常的,但控制台也没有显示任何错误信息,显然和我们的预期不一样
因为在使用 jquery 2 时,这种情况下,控制台是可以提示错误的
<script src="jquery-2.1.3.min.js"></script> <script> $(function (){ throw new Error('出错了'); $('#container').html('你好'); }); </script>
解决办法
因为 jquery 3.0 正式支持了 promise,所以可以对 .ready() 使用 promise 形式,使用 fail 抛出异常
例如
$.ready.then (function() { throw new Error('出错了'); $('#container').html('你好'); }).fail (function(error) { throw error; });
这时控制台就可以显示出错误信息了
相关推荐
-
深入理解jQuery3.0的domManip函数
domManip 这个函数的历史由来已久,从 jQuery 1.0 版本开始便存在了,一直到最新的 jQuery 版本.可谓是元老级工具函数. domManip 的主要功能是为了实现 DOM 的插入和替换.具体共为以下 5 个函数服务 •内部后插入(append) •内部前插入(prepend) •外部前插入(before) •外部后插入(after) •替换元素 (replaceWith,1.9.x 之前的版本没有使用 domMainp) 而一个 each 就生成了另外 5 个函数:appen
-
jQuery 3.0十大新特性最终版发布
jQuery 3.0 最终版发布了.jQuery 3.0将是jQuery的未来.但如果你需要IE6-8支持,您可以继续使用最新版本1.12. jQuery 3.0在日前发布了最终的全新版本.从2014年10月,jQuery团队对这个主要大版本进行维护开始,web开发者社区便一直在期待着这一刻的到来,终于在2016年6月他们迎来了这一个最终版www.lampbrother.net. 通过jQuery 3.0的版本更新说明,我们看到了一个保持着向后兼容的更轻便,更快速的jQuery.在本文中,我们将
-
jQuery3.0中的buildFragment私有函数详解
时隔 3 个月,jQuery 团队终于发布了 3.0 Alpha 版本.有两个版本 jQuery compat 3.0 和 jQuery 3.0. jQuery compat 3.0 对应之前的 1.x, 兼容更多的浏览器,对于IE支持到 8.0 版本 jQuery 3.0 对应之前的 2.x,关注更新的浏览器,对于IE支持到 9.0 版本 此外, 3.0还增加了对 Yandex 浏览器的支持,一款来自俄罗斯的浏览器. 下面看下jQuery3.0中的buildFragment. 在 jQuery
-
jQuery 3.0 的变化及使用方法
jQuery ,是迄今为止世界上最流行的 JavaScript 库,一直是我们这些 Web 开发者的神器.自从它在 2006 年发布最初版本直到如今,已经有非常多的 Web 开发者在项目中引入了这个优秀的库来使开发工作变得更轻松. 时隔 3 个月,jQuery 团队终于发布了 3.0 Alpha 版本.有两个版本 jQuery compat 3.0 和 jQuery 3.0. •jQuery compat 3.0 对应之前的 1.x, 兼容更多的浏览器,对于IE支持到 8.0 版本 •jQuer
-
jQuery 3.0 的 setter和getter 模式详解
jQuery 的 setter/getter 共用一个函数,通过是否传参来表明它是何种意义.简单说传参它是 setter,不传它是 getter. 一个函数具有多种意义在编程语言中并不罕见,比如函数重载:一组具有相同函数名,不同参数列表的函数,这组函数被称为重载函数.重载的好处是减少了函数名的数量,避免了名字空间的污染,对于程序的可读性也大有裨益. 函数重载主要体现的两个方面,一是参数的类型.相同个数的参数类型不同可称为函数重载:二是参数的个数,个数不同也称为函数重载.注意,重载与函数的返回值并
-
解决3.01版的jquery.form.js中文乱码问题的解决方法
网上搜了很多方法,可能因为我用的这jquery.form.js是3.01版,也就是今年3月6日才发布的版本(汗...就是前天),所以普遍不太管用.至于低版本的是否管用,这个我没有去考证,但大部分还是不负责任的Copy Copy Copy .还有一些方法是在提交前对所有的值先编码,我觉得这个太麻烦,额外增加了不少的前端代码量,也就没有采取. 好吧,那还是自己来处理吧.首先我们要找到切入点,也就是解决问题的入口.既然我们是要对JS传递的数据进行编码,那么首先肯定要从数据的传递函数开始.我调用的是aj
-
浅析jQuery 3.0中的Data
jQuery 3.0 在6月9日正式发布了,3.0 也被称为下一代的 jQuery.这个版本从14年10月开始,其中发布过一次beta 版(2016/1/14,)和候选版(2016/05/20).一路走来,颇为不易. 一.Data浅析 jQuery 3.0 中的 Data 是内部使用的,定义为一个"类".一共用它创建了两个对象,dataPriv 和 dataUser.Data 有 1 个对象属性(expando)和类属性(uid),有 6 个方法,如下 下面分别解读 1.Data.ui
-
jQuery 3.0十大新特性
jQuery 3.0在日前发布了最终的全新版本.从2014年10月,jQuery团队对这个主要大版本进行维护开始,web开发者社区便一直在期待着这一刻的到来,终于在2016年6月他们迎来了这一个最终版. 通过jQuery 3.0的版本更新说明 ,我们看到了一个保持着向后兼容的更轻便,更快速的jQuery.在本文中,我们将介绍一些令人眼前一亮的jQuery 3.0全新特性. 开始前的说明 如果你想要下载jQuery 3.0进行亲自实验,可以通过 该页面 进行下载.另外, 升级指南 和 源代码 也值
-
jQuery 3.0中存在问题及解决办法
jQuery 前阶段推出了3.0版本,改动非常大,如果要使用 3.0 的话,建议先仔细了解一下新特性,否则会引起一些小问题,例如下面的代码. 大家对jQuery 3.0十大新特性不了解的朋友可以参考下本篇文章. <html> <head> <meta charset="utf-8"> <script src="jquery-3.0.min.js"></script> <script> $(fun
-
JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
今天在程序中出现一个bugger ,调试了好久,最后才发现,原来是这个问题. 做了一个实验: alert(parseInt("01")),当这个里面的值为01====>07时都是正常的,但是在"08","09"就会返回0 (这种现象出现在ie内核的浏览器中,如360浏览器就会出现这种错误)(谷歌,火狐不受影响) . 查阅资料得知着这种现象原因: 大神的解释: 01--07自然没有问题,但是09,08都是不合格的八进制形式,所以被按照0处理了
-
Android中EditText光标在4.0中的bug及解决方法
本文分析了Android中EditText光标在4.0中的bug及解决方法.分享给大家供大家参考,具体如下: 一.问题: 不知道为什么,我的EditText的在我自己的手机中出现的时候,他的光标就变得没有了,我开始还以为是光标不见了,后面我修改了一下EditText的背景颜色,才发现是因为光标的颜色变成了白色,所以没有看见. 二.解决办法 : 复制代码 代码如下: android:textCursorDrawable 设置值为"@null",但是我觉得那个不怎么好看,那个地方也可以替换
-
关于两个jQuery(js)特效冲突的bug的解决办法
Problem: 使用jquery,json做一个资源下载的应用,其中用到paginate.js和JSON数据的分页效果,以及jquery.DOMWindow.js的弹窗效果. 但是出现以下bug: 单击"上/下一页,首/末页"后,弹窗事件失效: Analysis: 对于这个Bug,在paginate.js中设计的上/下一页,首/末页按钮属性是设置了href="javascript:(void)",google到关于这个属性的解释: "javascript
-
SpringMail使用过程中的报错解决办法
SpringMail使用过程中的报错解决办法 1.Unable to locate provider for protocol: smtp –>缺少依赖造成的 <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> <dependency
-
Linux 出现telnet: 127.0.0.1: Connection refused错误解决办法
Linux 出现telnet: connect to address 127.0.0.1: Connection refused错误解决办法 没有xinetd服务: 1./etc/init.d目录中放置了系统中各个daemon服务的脚本,xinetd是其中之一. 2.xinetd是一种特殊的daemon服务(super daemon),它本身管理了一系列的daemon服务,这些服务只有在用户调用时才由xinetd启动,它们启动速度稍慢于独立的daemon服务,这些服务在/etc/xinetd.c
-
Android ListView的item中嵌套ScrollView的解决办法
前沿:有时候,listview 的item要显示的字段比较多,考虑到显示问题,item外面不得不嵌套ScrollView来实现,于是问题来了,当listview需要做点击事件时,由于ScrollView的嵌套使用,拦截了listvew点击事件:只好重写listview来实现了. /** * * @author 作者:易皇星 * * @da2016年10月24日 时间: * * @toTODO 类描述: 解决 ListView中嵌套ScrollView,ScrollView拦截ListView的I
-
Python中matplotlib中文乱码解决办法
Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码. matplotlib绘制图像有中文标注时会有乱码问题. 实例代码: import matplotlib import matplotlib.pyplot as plt #定义文本框和箭头格式 decisionNode =dict(boxstyle="sawtooth",fc="0.8") leafNode=dict(
-
Android CheckBox中设置padding无效解决办法
Android CheckBox中设置padding无效解决办法 CheckBox使用本地图片资源 CheckBox是Android中用的比较多的一个控件,不过它自带的button样式比较丑,通常都会替换成本地的资源图片.使用本地资源图片很简单,设置android:button属性为一个自定义的包含selector的drawable文件即可. 例如android:button="@drawable/radio_style".radio_style.xml定义如下.checked和unc
随机推荐
- php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
- jQuery实现切换字体大小的方法
- ExtJS 2.2.1的grid控件在ie6中的显示问题
- 详解Vue爬坑之vuex初识
- 简单理解vue中track-by属性
- iOS开发之离线地图核心代码
- ubuntu 下VirtualBox 如何实现共享设置
- javascript 贪吃蛇(详细注释版)
- php函数array_merge用法一例(合并同类数组)
- 深入理解C#实现快捷键(系统热键)响应的方法
- Android控件系列之EditText使用方法
- WML学习之四 锚和任务
- 解决微信返回上一页,页面中的AJAX的请求,对Get请求无效的问题
- MSSQL 监控数据/日志文件增长实现方法
- 用vbs删除某些类型文件和磁盘空间报告的脚本
- Javascript 对cookie操作详解及实例
- Android字段验证的实例代码
- Android实现的数字格式化用法示例
- php实现过滤表单提交中html标签的方法
- android开发之方形圆角listview代码分享