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")
%>
输出结果:okjavascript 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= | 赋值、运算赋值 |
| , | 多重求值 |
