jquery.js文件报错-解决方法
jquery-mobile遇到的问题

1、在浏览器中点击一个链接打一个新的页面时,jQuery Mobile接收这个链接,通过AJAX 的方式请求链接页面,并把请求得到的内容注入到当前页面的DOM里而不是新创建一个dom,所以不会加载链接页面的js。
这样会导致用户手动刷新页面时只有当前页面的js有效,也不能根据转场页面自动加载js,所以需要在第一个页面就加载所有的js。
解决方法:把所有的js在访问的第一个页面就全部加载进来,所有的page都写在一个文件里。
2、因为所有的page在一个页面,而且只有一个dom,所以id不能重复解决方法:每个page的元素的id加后缀来区别3、对话框dialog的问题,对话框会把整个page覆盖住,页面四周没有被占满的会是黑色的解决方法:不用dialog,改用弹出层popup4、弹出层popup,没有模态效果,点击其他位置,会消失不见解决方法:page初始化时,增加样式id为弹出层的id$("#id").on({popupbeforeposition: function () {$('.ui-popup-screen').off();}});5、弹出弹出层通过标签弹出弹出层<div data-role=”page”><div data-role=”header”></div><div data-role=”content”><a data-role=”button” href=”# popDiv” data-rel=”popup”>弹出</a></div><div id=”popDiv” data-role=”popup”data-position-to=”window”><!—弹出层要求写的page的content和footer之间→<div data-role=”header”><h3>标题</h3><a data-role=”button” data-rel=”back” data-theme=”a”data-icon=”delete” data-iconpos=”notext” class=”ui-btn-right”></a> <!—关闭按钮→</div><div data-role=”content”></div><div data-role=”footer”></div></div><div data-role=”footer”></div></div>通过js代码调用弹出层$("#id").popup();初始化$("#id").popup("popup");打开$("#id").popup("close");关闭弹出位置data-position-to=“window”,在屏幕的中央,origin:在所单击的控件的上面,“#id”在指定的组件为id的上面6、分组的listview collapsible<div id=” collapsibleID” data-role="collapsible-set" data-theme="b" data-content-theme="d"data-inset="true" class="ui-scrolllistview"><div data-role=” collapsible”><h2>标题AAABBB</h2><ul><li>AAAAAAAAA</li><li>BBBBBBBBB</li></ul></div><div data-role=” collapsible”><h2>标题CCCCCDDDD</h2><ul><li>CCCCCC</li><li>DDDDDDDDD</li></ul></div></div>js代码刷新$("# collapsibleID ").collapsibleset("refresh");7、单选按钮$("#id").attr("checked",true).checkboxradio("refresh");刷新8、下拉菜单select$("#id").selectmenu("refresh");9、input[type=radio] 和label联合使用时,及获取label的值解决方法:<fieldset data-role=”controlgroup”><input type=”radio” name id=”mayradio””radio-a”/><label for=”radio-a”>radio1</label></ fieldset >$("input[type=radio]").bind('click',function(event){$(this).next().text()); //被点击的radio的label的值})10、时间组件mobiscroll-2.2.custom.min.js 的使用obj=$("#id");//id为文本框的idfunction getDateTime(obj){var now = new Date();obj.scroller({preset: 'datetime',theme: 'default',display: 'modal',mode: 'scroller',});}$("#id").scroller('getDate') ;//获取时间参考文档:/datetime/datetime11、listview js代码刷新$("#id").listview("refresh");12、判断是否登录解决方法:因为只有一个页面,所以不能用filter来拦截,所以在每个Page初始化通过js判断有没有登录,如果没有登录window.location.href=”login.jsp”13、页面转场标签:<a data-role=”button” href=”#pageID”>toPage</div>js代码实现转场$.mobile.changePage(“#pageID”,{transition:pop})Transition转场效果:{fade,slide,pop,。
$.browser.msie为空或不是对象问题的多种解决方法

$.browser.msie为空或不是对象问题的多种解决⽅法'$.browser.msie' 为空或不是对象,这个是jQuery错误出现这个错误,是因为升级了jQuery版本,从1.9以前升级到1.9以后,因为$.browser.msie在1.9以后的jQuery中不存在了,所以报错。
jQuery 1.9 移除了 $.browser 的替代⽅法$.browser是通过正则表达式来匹配userAgent来判断浏览器版本和种类的.jquery1.3.2版本的⽂档中已经声明jquery.browser及jquery.browser.version建议弃⽤,可以使⽤jquery.support来代替。
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version ,取⽽代之的是 $.support 。
在更新的 2.0 版本中,将不再⽀持 IE 6/7/8。
以后,如果⽤户需要⽀持IE 6/7/8,只能使⽤ jQuery 1.9或者jQuery 1.10.1等。
如果要全⾯⽀持 IE,并混合使⽤ jQuery 1.9 和 2.0,官⽅的解决⽅案是:解决⽅法⼀:<!--[if lt IE 9]><script src='/jquery-1.10.1.min.js'></script><![endif]--><!--[if gte IE 9]><script src='/jquery-2.0.2.min.js'></script><![endif]-->解决⽅法⼆:就是不要⽤$.browser.msie来判断,在⽹上找了⼀些能够直接替换的解决办法$.browser.mozilla = /firefox/.test(erAgent.toLowerCase());$.browser.webkit = /webkit/.test(erAgent.toLowerCase());$.browser.opera = /opera/.test(erAgent.toLowerCase());$.browser.msie = /msie/.test(erAgent.toLowerCase());等号后⾯的表达式返回的就是 true/false,可以直接⽤来替换原来的 $.browser.msie 等。
JavaScript+jQuery前端开发基础教程(第2版)(微课版)第4章

2.设置JavaScript对象属性注册事件处理程序
将函数设置为事件目标对象的事件属性值,也可完成事件处理程序的 注册。
3.使用addEventListener()方法注册事件处理程序
不管是通过设置属性,还是通过调用addEventListener()方法注册的事 件处理程序,在处理程序中调用preventDefault()方法均可阻止事件默认 动作。
在事件处理程序中,也可通过将event.returnValue属性设置为false来阻 止事件默认动作。
4.2.4 阻止事件传播
beforeunload和unload事件处理过程会屏蔽所有用户交互,window.open、alert、 confirm等都无效,不能阻止unload事件。一般在unload事件处理程序中执行一些必要 的清理操作,事实上只有极少的这种需求。
4.2.6 鼠标事件
鼠标事件对象除了拥有事件对象的主要属性外,还有下列常用属性。
stopPropagation()方法:调用该方法可阻止事件传播过程,事件传播路径中的后继节点不 会再接收到该事件。
3.事件处理程序的返回值
事件处理程序的返回值具有特殊意义。 通常,事件处理程序返回false时,会阻止浏览器执行这个 事件的默认动作。 例如,表单的submit事件处理程序返回false时,会阻止提 交表单;单击链接<a>时,会跳转到链接的URL,若在其 click事件处理程序中返回false,则会阻止跳转。
cancelable属性:逻辑值,表示是否能用preventDefault()方法取消对象的默认动作。
解决jquery引入外部js 方式并重命名的具体操作步骤

解决jquery引入外部js 方式并重命名的具体操作步骤解决jQuery引入外部JS方式并重命名的具体操作步骤1. 引言在开发网页应用或网站时,我们经常会使用jQuery作为JavaScript 库来简化代码编写和提高开发效率。
然而,当我们需要引入外部的jQuery插件或库时,为了避免冲突,我们可能需要对其命名进行重命名。
本文将详细介绍解决这一问题的具体操作步骤。
2. 前提条件在开始操作之前,确保你已经确定了需要重命名的外部JS文件的URL 或文件路径,并准备好一个新的名称。
假设我们需要重命名的文件为"external.js",新名称为"renamed.js"。
3. 步骤一:下载jQuery我们需要从jQuery官方网站()下载所需的jQuery文件。
选择一个适合项目需求的版本(推荐使用最新稳定版)并下载到本地。
4. 步骤二:重命名文件在下载完成后,将"renamed.js"文件复制到你的项目目录中。
5. 步骤三:修改HTML文件打开你的HTML文件,在<head>标签内添加以下代码来引入重命名后的jQuery文件:```html<script src="/path/to/renamed.js"></script>```注意替换"/path/to/renamed.js"为renamed.js文件的实际路径。
6. 步骤四:修改原始JS文件接下来,打开"external.js"文件,并使用一个全局变量或命名空间来包装其中的代码。
这样做的目的是确保代码的作用域与其他相同库或插件不发生冲突。
我们可以使用以下代码将原始的external.js文件包装在一个匿名函数中:```javascript(function ($) {// 在这里编写原始的external.js文件的代码})(jQuery);```在这段代码中,$是jQuery的别名,将其传递给函数作为参数。
JqueryAjax请求文件下载操作失败的原因分析及解决办法

JqueryAjax请求⽂件下载操作失败的原因分析及解决办法jQuery确实是⼀个挺好的轻量级的JS框架,能帮助我们快速的开发JS应⽤,并在⼀定程度上改变了我们写JavaScript代码的习惯。
废话少说,直接进⼊正题,我们先来分析⼀下失败的原因⼀、失败的原因那是因为response原因,⼀般请求浏览器是会处理服务器输出的response,例如⽣成png、⽂件下载等,然⽽ajax请求只是个“字符型”的请求,即请求的内容是以⽂本类型存放的。
⽂件的下载是以⼆进制形式进⾏的,虽然可以读取到返回的response,但只是读取⽽已,是⽆法执⾏的,说⽩点就是js⽆法调⽤到浏览器的下载处理机制和程序。
⼆、解决⽅案1)可以使⽤jquery创建表单并提交实现⽂件下载;var form = $("<form>");form.attr("style","display:none");form.attr("target","");form.attr("method","post");form.attr("action",rootPath + "T_academic_essay/DownloadZipFile.do");var input1 = $("<input>");input1.attr("type","hidden");input1.attr("name","strZipPath");input1.attr("value",strZipPath);$("body").append(form);form.append(input1);form.submit();form.remove();2)可以直接使⽤a标签实现⽂件下载;<a href=”下载地址”>点击下载</a>3)使⽤隐藏iframe或新窗体解决。
js计算精度丢失的解决方法

js计算精度丢失的解决方法嘿,朋友们!咱今儿来聊聊 js 计算精度丢失这档子事儿。
你说这玩意儿就跟那调皮的小猴子似的,时不时就蹦出来给你捣捣乱。
咱先搞清楚为啥会有这情况呀。
就好比你要把一块大蛋糕切成好多好多小块,这中间难免就会有些误差嘛。
js 在处理一些小数计算的时候,就可能会出现这种类似的小偏差。
那咋解决呢?嘿,这就有招儿啦!咱可以用一些巧妙的方法来对付它。
比如说,咱可以把小数转化成整数来计算呀,就像你把那小蛋糕先整个儿的算好了,再去分小块,这样不就减少误差啦?或者呢,咱可以用一些专门的库,就像是给咱的计算找了个厉害的助手,让它来帮忙搞定那些容易出问题的地方。
你想想看呀,如果咱不解决这个问题,那可就麻烦啦!就好比你要去买东西,本来应该给人家十块钱,结果因为计算精度丢失,你给了人家九块九或者十块一,那多不合适呀!这要是在一些重要的场合,比如涉及到钱财交易或者数据统计啥的,那可不得了!咱还可以通过一些小技巧来检查和发现这些问题呢。
就像医生给病人做检查一样,得找到病根儿才能对症下药呀。
比如说,咱可以在计算前后对比一下结果,看看是不是有啥不对劲的地方。
还有啊,咱得养成一个好习惯,就是对计算结果要多留个心眼儿。
别一股脑儿就相信了,得好好琢磨琢磨,看看是不是合理。
这就好比你走路,得时不时瞅瞅脚下,别一不小心踩坑里啦!总之呢,解决 js 计算精度丢失这个问题,就像是给咱的代码世界打扫卫生,把那些脏东西都清理掉,让咱的程序跑得更顺畅,更准确。
咱可不能小瞧了这个事儿,得认真对待,不然它可会给咱惹出大麻烦的哟!你说是不是这个理儿呀?所以呀,咱可得把这些方法都记住,遇到问题就拿出来用,让咱的代码变得乖乖的,不再捣乱啦!。
jQueryisnotdefined错误原因与解决方法小结

jQueryisnotdefined错误原因与解决⽅法⼩结通常出现这种状况有⼏种解决⽅法:1:查看是否引⼊jquery⽂件就算引⼊了⽂件了是不是通过⼀些整站下载器之类的软件下载的,都会出现问题,建议⽤迅雷到官⽅下载即可。
2:查询路径是否错误,可以在页⾯源码中点击js⽂件路径.有时候js⾥⾯会⾃动加⼊⼀些路径,导致路径错误3: JS是解释型语⾔,是根据标签引⽤分块顺序执⾏的,$是jQuery中的产⽣的对象,需要⽤的话,必须将jquery.js⽂件放在使⽤它的JS前⾯。
将jQuery库放在依赖于jQuery的JavaScript脚本之前,并且将这些代码放⼊document.ready来确保DOM加载完毕。
<script type="text/javascript" src="path/to/jquery.min.js"></script><script type="text/javascript">$(document).ready(function() {//依赖于jQuery的代码});</script>4、有时候我们使⽤了第三⽅的cdn的js加载CDN的jQuery失败或者超时当提供jQuery的CDN出问题导致jQuery加载失败,或者由于⽹络问题浏览器加载jQuery⽂件超时,会出现jQuery未定义的错误.解决⽅案: 将jQuery⽂件挂载在⾃⼰的⽹站上作为备⽤,如果CDN加载jQuery失败,则使⽤⾃⼰⽹站存托管的jQuery。
这样的话,⼤部分⽤户依然可以通过CDN加快访问速度,⽽⼀旦CDN出问题时也可以避免出错。
<script src="https:///jquery/3.1.1/jquery.min.js"></script><script>window.jQuery || document.write('<script src="/js/jquery.min.js"><\/script>'))</script>是不是通过⼀些整站下载器之类的软件下载的,都会出现问题,建议⽤迅雷到官⽅下载即可。
jQuery通过ajax方法获取json数据不执行success的原因及解决方法

jQuery通过ajax⽅法获取json数据不执⾏success的原因及解决⽅法1.jquery通过ajax⽅法获取json数据不执⾏success回调问题描述:jquery通过ajax⽅法获取json数据不执⾏success回调⽅法问题原因:json格式存在问题或不符合标准写法,导致总是执⾏error回调⽅法解决⽅案:使json格式务必符合下述3个标准写法: 1)键名称:⽤双引号括起; 2)字符串:⽤双引号括起; 3)数字,布尔值不需要使⽤双引号括起;注意:⼀定是双括号!2.jQuery中ajax使⽤json数据类型总是跳过success执⾏error语句执⾏函数error : function(XMLHttpRequest, textStatus, errorThrown) {//这个error函数调试时⾮常有⽤,如果解析不正确,将会弹出错误框 alert(XMLHttpRequest.responseText);alert(XMLHttpRequest.status);alert(XMLHttpRequest.readyState);alert(textStatus); // parser error;}就明⽩错误信息了;弹出的框⾥显⽰:<!DOCTYPE html PUBLIC "-//W3C //DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD /xhtml1-transitional.dtd">以及<?xml version="1.0" encoding="gb2312" ?>这两句话,虽然不清楚为什么,我删除之后,就成功执⾏ success了3.$.ajax()中的URL跨域时,总是不执⾏success,⽼进⼊error1)我加上ServletActionContext.getResponse().setHeader("Access-Control-Allow-Origin", "*");解决跨域问题,就顺利进⼊success了2)dataType:"json",去掉看能进success 不。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
jquery.js文件报错-解决方法
tomcat首页报Directory listing for错误,
eclipse启动tomcat,首页报404错误
引入一个正常的新项目后,eclipse报错:
一、jQuery.js文件报错
解决办法:
1.window-preferences-中将JavaScript -validator-erros warnings取消
2.将eclipse工作空间中的当前项目的.project文件中的
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
</arguments>
</buildCommand>
代码注释掉。
3.将项目中的Jquery.js文件复制一份到桌面。
将原来的文件删除。
将桌面的jquery.js 文件复制到项目中原来的位置。
4.clean ,refresh,可以看到:项目已经不报错了。
二、tomcat首页报Directory listing for错误
1.在tomcat安装目录下的bin中startup.bat启动,首页可以正常访问。
说明:不是tomcat 有问题。
而是eclipse中配置的tomcat有问题。
(注:之前在网上看到一些文章说是修改tomcat目录下web.xml中<listing>从true 修改为false,说是安全有问题。
我也尝试修改和重启了多次,但没有效果。
也重新修改了eclispe中server tomcat的配置,但都没有效果。
花了很多时间。
下面是一个亲测有效的方法,具体步骤记录了下来。
但忘记原来的文章网址了。
)
2.最快的方法,在server窗口中删除所有的tomcat。
3.在server窗口中,new一个server,双击,进行具体配置的修改。
如下图:修改server path和deploy path为tomcat的相应目录。
保存。
4.在eclipse中重新启动tomcat,发现:首页可以看到tom猫了。
OK。