Web中常用的Javascript技巧

阅读更多

 

事件源对象 
event.srcElement.tagName 
event.srcElement.type 


捕获释放 
event.srcElement.setCapture(); 
event.srcElement.releaseCapture();

事件按键
event.keyCode 
event.shiftKey 
event.altKey 
event.ctrlKey 

事件返回值
event.returnValue 

鼠标位置 
event.x 
event.y 

窗体活动元素
document.activeElement 

绑定事件
document.captureEvents(Event.KEYDOWN); 

访问窗体元素 
document.all("txt").focus(); 
document.all("txt").select(); 

窗体命令 
document.execCommand 

窗体COOKIE 
document.cookie 

菜单事件 
document.oncontextmenu

创建元素
document.createElement("SPAN"); 

根据鼠标获得元素:
document.elementFromPoint(event.x,event.y).tagName=="TD 
document.elementFromPoint(event.x,event.y).appendChild(ms)

窗体图片
document.images[索引] 

窗体事件绑定 
document.onmousedown=scrollwindow; 

元素 
document.窗体.elements[索引]

对象绑定事件 

插件数目
navigator.plugins 

取变量类型
typeof($js_libpath) == "undefined" 

下拉框

下拉框.options[索引] 
下拉框.options.length 

查找对象 
document.getElementsByName("r1"); 
document.getElementById(id); 

定时 

UNCODE编码 
escape() ,unescape 

父对象 
obj.parentElement(dhtml) 
obj.parentNode(dom)

交换表的行
TableID.moveRow(2,1) 

替换CSS 
document.all.csss.href = "a.css"; 

并排显示 
display:inline

隐藏焦点 
hidefocus=true 

根据宽度换行
style="word-break:break-all"

自动刷新 


简单邮件
 

快速转到位置 
obj.scrollIntoView(true)


 
anchors 

网页传递参数
location.search();

可编辑
obj.contenteditable=true 

执行菜单命令
obj.execCommand 

双字节字符 
/[^\x00-\xff]/ 

汉字 
/[\u4e00-\u9fa5]/ 

让英文字符串超出表格宽度自动换行
word-wrap: break-word; word-break: break-all; 

透明背景
 

获得style内容
obj.style.cssText 

HTML标签
document.documentElement.innerHTML 

第一个style标签
document.styleSheets[0] 

style标签里的第一个样式
document.styleSheets[0].rules[0] 

防止点击空链接时,页面往往重置到页首端。
word 

上一网页源


asp: 
request.servervariables("HTTP_REFERER") 
javascript: 
document.referrer 


释放内存


CollectGarbage();


禁止右键 


document.oncontextmenu = function() { return false;} 


禁止保存 





禁止选取




禁止粘贴


 


地址栏图标 




favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 
收藏栏图标 

 



查看源码


关闭输入法


 


自动全选


 


ENTER键可以让光标移到下一个输入框





文本框的默认值


 


title换行


obj.title = "123 sdfs " 


获得时间所代表的微秒 


var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime() 


窗口是否关闭 


win.closed 


checkbox扁平


 


获取选中内容 


document.selection.createRange().duplicate().text


自动完成功能


打开该功能 
关闭该功能 


窗口最大化 


 


无关闭按钮IE


window.open("aa.htm", "meizz", "fullscreen=7"); 


统一编码/解码


alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe"))) 
encodeURIComponent对":"、"/"、";" 和 "?"也编码 



表格行指示


//各种尺寸 


s += "\r\n网页可见区域宽:"+ document.body.clientWidth; 
s += "\r\n网页可见区域高:"+ document.body.clientHeight; 
s += "\r\n网页可见区域高:"+ document.body.offsetWeight +" (包括边线的宽)"; 
s += "\r\n网页可见区域高:"+ document.body.offsetHeight +" (包括边线的宽)"; 
s += "\r\n网页正文全文宽:"+ document.body.scrollWidth; 
s += "\r\n网页正文全文高:"+ document.body.scrollHeight; 
s += "\r\n网页被卷去的高:"+ document.body.scrollTop; 
s += "\r\n网页被卷去的左:"+ document.body.scrollLeft; 
s += "\r\n网页正文部分上:"+ window.screenTop; 
s += "\r\n网页正文部分左:"+ window.screenLeft; 
s += "\r\n屏幕分辨率的高:"+ window.screen.height; 
s += "\r\n屏幕分辨率的宽:"+ window.screen.width; 
s += "\r\n屏幕可用工作区高度:"+ window.screen.availHeight; 
s += "\r\n屏幕可用工作区宽度:"+ window.screen.availWidth; 
//不缓存 


 
 
 


//正则匹配 


匹配中文字符的正则表达式: [\u4e00-\u9fa5] 
匹配双字节字符(包括汉字在内):[^\x00-\xff] 
匹配空行的正则表达式:\n[\s| ]*\r 
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数) 
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 

利用正则表达式限制网页表单里的文本框输入内容:


//消除图像工具栏
[/html]
 
or 
 
 
 
[/html]
//取得控件得绝对位置(1)




[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 
//获得控件的绝对位置(2) 


oRect = obj.getBoundingClientRect(); 
oRect.left 
oRect.


//打印分页


page1

 

page2

 


//设置打印










具体使用手册,更多信息,点这里


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 
//自带的打印预览 


WebBrowser.ExecWB(1,1) 打开 
Web.ExecWB(2,1) 关闭现在所有的IE窗口,并打开一个新窗口 
Web.ExecWB(4,1) 保存网页 
Web.ExecWB(6,1) 打印 
Web.ExecWB(7,1) 打印预览 
Web.ExecWB(8,1) 打印页面设置 
Web.ExecWB(10,1) 查看页面属性 
Web.ExecWB(15,1) 好像是撤销,有待确认 
Web.ExecWB(17,1) 全选 
Web.ExecWB(22,1) 刷新 
Web.ExecWB(45,1) 关闭窗体无提示 
 
 
 

 
 
 

 

 





//去掉打印时的页眉页脚 




[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 
//无模式的提示框 


function modelessAlert(Msg) 

window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"); 




//下载文件 


function DownURL(strRemoteURL,strLocalURL) 

try 

var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP"); 
xmlHTTP.open("Get",strRemoteURL,false); 
xmlHTTP.send(); 
var adodbStream=new ActiveXObject("ADODB.Stream"); 
adodbStream.Type=1;//1=adTypeBinary 
adodbStream.Open(); 
adodbStream.write(xmlHTTP.responseBody); 
adodbStream.SaveToFile(strLocalURL,2); 
adodbStream.Close(); 
adodbStream=null; 
xmlHTTP=null; 


catch(e) 

window.confirm("下载URL出错!"); 

//window.confirm("下载完成."); 



//检验连接是否有效 


function getXML(URL) 

var xmlhttp = new ActiveXObject("microsoft.xmlhttp"); 
xmlhttp.Open("GET",URL, false); 
try 

xmlhttp.Send(); 

catch(e){} 
finally 

var result = xmlhttp.responseText; 
if(result) 

if(xmlhttp.Status==200) 

return(true); 

else 

return(false); 


else 

return(false); 


}


//检查网页是否存在 


function Checkurl(http://www.blog.com.cn/URL) 

var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
xmlhttp.Open("GET",URL, false); 
try 

xmlhttp.Send(); 
var result = xmlhttp.status; 

catch(e) {return(false); } 
if(result==200) 

return true; 

xmlhttp = null; 
return false; 
}



//禁止FSO 


1.注销组件 
regsvr32 /u scrrun.dll 
2.修改PROGID 
HKEY_CLASSES_ROOT\Scripting.FileSystemObject 
Scripting.FileSystemObject 
3.对于使用object的用户,修改HKEY_CLASSES_ROOT\Scripting. 

补充:

1、触发事伯提交表单

示例1:




2、onchange与onclick的事件触发

onchange大多用在下拉列表的触发事件中,重点在“改变”即触发事件。如页面的跳转等。而onclick强调“点击”,即点击即触发事件,用途广泛。

用法比较简单,就不做示例了。

3、“onblur”当焦点离开文本控件时,触发动作。它常常于自动获得焦点一起使用

4、自动获得焦点

示例4:






5、回车移动焦点(onkeydown="if(event.KeyCode == 13)event.KeyCode=9")

示例5:





6、锁定文本框(readonly)

示例6:





7、文本框中自动将小写字母转换大写

示例7:





8、当脚本将焦点定位到一个文本框后,怎么将光标定位文本框里字符串未尾

示例8:

 

 
 
 
 

 

你可能感兴趣的:(Web中常用的Javascript技巧)