jquery mobile 禁用ajax
局部禁用ajax,只需在a标签上添加 data-ajax="false" 或 rel="external" 站外链接)
全局禁止ajax,需要在jquery.js之后、jquery.mobile-1.4.5.js引用之前添加:
<script>$(document).ready(function(){jQuery.mobile.ajaxEnabled = false;});</script>
jquery mobile pageinit等事件多次执行的解决
如果从页面A到B再返回A时,页面A中的pageinit、pageshow等事件会执行多次,解决方法是给当前页面的page(data-role='page')绑定一个变量。
$(document).on('pageinit', '#pageid', function(){ if(!$(this).data('loaded')){ $(this).data('loaded', true); alert(0); }; });
jquery mobile 1.4+ 调用和关闭loading
$.mobile.loading('show', { text: '加载中……', //加载器中显示的文字 textVisible: false, //是否显示文字 theme: 'a', //加载器主题样式a-e textonly: false, //是否只显示文字 html: '' //要显示的html内容,如图片等 }); $.mobile.loading('hide');
LODOP打印控件的基本使用
<object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0> <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0 pluginspage="install_lodop32.exe" /> </object> <script> //打印功能 function p(id, num){ var td=$('tr#tr'+id+' > td'); var LODOP=getLodop(); //初始化并命名打印程序 LODOP.PRINT_INIT('汽博会观众入场券打印程序'); //设置纸张尺寸及名称,单位0.1mm LODOP.SET_PRINT_PAGESIZE(1, 750, 1050, '汽博会观众入场券'); //添加背景图 LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='http://127.0.0.1/2015/201506/08qibohui/images/ticket.jpg'>"); //背景图显示模式 //在预览中显示 LODOP.SET_SHOW_MODE("BKIMG_IN_PREVIEW",1); //打印背景图 //LODOP.SET_SHOW_MODE("BKIMG_PRINT",1); //背景图的位置及尺寸 //LODOP.SET_SHOW_MODE('BKIMG_TOP', 1); //LODOP.SET_SHOW_MODE('BKIMG_LEFT', 1); //LODOP.SET_SHOW_MODE('BKIMG_WIDTH', '75mm'); //LODOP.SET_SHOW_MODE('BKIMG_HEIGHT', '105mm'); //添加打印内容,默认尺寸单位为像素,可选单位及换算关系:1英寸 = 2.54cm = 25.4mm = 72pt = 96px //ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent) //用SET_PRINT_STYLE设置打印式样,该接口只对位于其后方的内容有效 //设置字号,单位是pt LODOP.SET_PRINT_STYLE("FontSize",18); //是否加粗 LODOP.SET_PRINT_STYLE("Bold",1); //设置字体 LODOP.SET_PRINT_STYLE("FontName",'宋体'); //添加打印内容 LODOP.ADD_PRINT_TEXT('45mm','25mm','RightMargin:5mm','6mm','入场券'); LODOP.SET_PRINT_STYLE("FontSize",10); LODOP.SET_PRINT_STYLE("Bold",0); LODOP.SET_PRINT_STYLE("FontName",'微软雅黑'); LODOP.ADD_PRINT_TEXT('60mm','15mm','RightMargin:5mm','6mm','姓名:'+td.eq(1).text()); LODOP.ADD_PRINT_TEXT('66mm','15mm','RightMargin:5mm','6mm','单位:'+td.eq(3).text()); LODOP.ADD_PRINT_TEXT('72mm','15mm','RightMargin:5mm','6mm','城市:'+td.eq(3).text()); //也可以用SET_PRINT_STYLEA接口设计字体,此接口位于添加打印内容接口(ADD_PRINT_TEXT和ADD_PRINT_HTM)后面 //数字2是姓名栏的顺序号(ADD_PRINT_TEXT或ADD_PRINT_HTM出现的顺序,从1开始;如果顺序号为0,则对SET_PRINT_STYLEA之前最后添加的打印内容有效) //LODOP.SET_PRINT_STYLEA(2, "FontSize", 10); //LODOP.SET_PRINT_STYLEA(2, "Bold", 0); //LODOP.SET_PRINT_STYLEA(2, "FontName", '微软雅黑'); //LODOP.SET_PRINT_STYLEA(2, "FontColor", '#ff0000'); //添加html //LODOP.ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight, document.getElementById('id').innerHTML); //设置输出以纸张边缘为基 LODOP.SET_PRINT_MODE("POS_BASEON_PAPER",true); //打印维护,只能对现有字段进行维护,不能添加或删除新字段 //LODOP.PRINT_SETUP(); //打印设计,可以添加、删除打印字段 //LODOP.PRINT_DESIGN(); //打印预览 //LODOP.PREVIEW(); //选择打印机 //LODOP.PRINTA(); //打印 //if (LODOP.SET_PRINT_COPIES(num)){ // LODOP.PRINT(); //}else{ // alert("设置打印份数失败!"); //} LODOP.PRINT(); } </script>
LODOP官方使用说明及样例:http://www.lodop.net/demo.html
asp用服务器端js解析并获取简单json示例
<script type="text/javascript" language="javascript" runat="server"> function jsParseJSON(s){ try{return (new Function('return' + s))(); }catch(e){return false}; } function jsGetField(s, fld){ var obj=jsParseJSON(s); return obj===false ? '' : (typeof obj[fld]==='undefined' ? '' : obj[fld]); } </script> <% Response.Write jsGetField("{""err"":0,""msg"":""ok""}", "msg") %>输出结果:ok
javascript Array对象
Array 对象属性
属性 | 描述 |
---|---|
constructor | 返回对创建此对象的数组函数的引用。 |
length | 设置或返回数组中元素的数目。 |
prototype | 使您有能力向对象添加属性和方法。 |
Array 对象方法
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
pop() | 删除并返回数组的最后一个元素 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reverse() | 颠倒数组中元素的顺序。 |
shift() | 删除并返回数组的第一个元素 |
slice() | 从某个已有的数组返回选定的元素 |
sort() | 对数组的元素进行排序 |
splice() | 删除元素,并向数组添加新元素。 |
toSource() | 返回该对象的源代码。 |
toString() | 把数组转换为字符串,并返回结果。 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值 |
JQ、js获取iframe中的元素、方法,判断iframe是否加载完成
父窗口操作iframe元素:
window.frames['framename'].document.getElementsByTagName('ul')
window.frames['framename'].$('#aaa').val()
$(window.frames['framename'].document).find('#aaa').val()
父窗口调用iframe方法:
window.frames['framename'].func();
$(window.frames['framename'])[0].func();
$("iframe[name='framename']")[0].contentWindow.func();
iframe获取父窗口元素:
window.parent.$('#abc').val()
$(window.parent.document).find('#abc').val()
-------------------------------------
jquery判断iframe是否加载完成
var iframe=$("#IFrame");
iframe.prop("src","http://www.aijquery.cn");
iframe.load(function(){
alert("加载完毕");
});
用attachEvent来判断
var iframe=$("#IFrame");
iframe.prop("src","http://www.baidu.com");
if (iframe[0].attachEvent){
iframe[0].attachEvent("onload", function(){ // IE
alert("加载完毕");
});
} else {
iframe[0].onload = function(){ // 非IE
alert("加载完毕");
};
}
通过ajax获取json时要过滤的特殊字符
\ufeff
\u2028
\u2029
\xa0(这个也可以替换为空格)
JS仿PHP shuffle、range、in_array
Array.prototype.shuffle = function() { for(var j, x, i = this.length; i; j = parseInt(Math.random() * i), x = this[--i], this[i] = this[j], this[j] = x); return this; }; function range(startNum, endNum, stepNum){ for(var arr=[], i=startNum; i<=endNum; arr.push(i), i+=(stepNum ? stepNum : 1)); return arr; } function in_array(obj, arr){ for(var i in arr){ if(arr[i]===obj)return true; } return false; }
在JavaScript 1.6中in_array有对应的原生函数arr.indexOf(search)
注:IE浏览器暂不支持 JavaScript 1.6
JS运算符优先级
下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。
运算符 | 描述 |
. [] () | 字段访问、数组下标、函数调用以及表达式分组 |
++ -- - ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义值 |
* / % | 乘法、除法、取模 |
+ - + | 加法、减法、字符串连接 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于等于、大于、大于等于、instanceof |
== != === !== | 等于、不等于、严格相等、非严格相等 |
& | 按位与 |
^ | 按位异或 |
| | 按位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 条件 |
= oP= | 赋值、运算赋值 |
, | 多重求值 |