搜索
首页web前端js教程javascript 应用小技巧方法汇总_javascript技巧

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[索引]
对象绑定事件 
document.all.xxx.detachEvent('onclick',a);
插件数目 navigator.plugins
取变量类型 typeof($js_libpath) == "undefined"
下拉框 下拉框.options[索引] 
下拉框.options.length
查找对象 document.getElementsByName("r1"); 
document.getElementById(id);
定时 
timer=setInterval('scrollwindow()',delay); 
clearInterval(timer);
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"
自动刷新 <meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net">
简单邮件 <a href="mailto:aaa@bbb.com&#63;subject=ccc&body=xxxyyy"> 
快速转到位置 
obj.scrollIntoView(true)
锚 <a name="first"> <a href="#first">anchors</a>
网页传递参数 location.search();
可编辑 obj.contenteditable=true
执行菜单命令 obj.execCommand
双字节字符 /[^\x00-\xff]/ 汉字 
/[\u4e00-\u9fa5]/
让英文字符串超出表格宽度自动换行word-wrap: break-word; word-break: break-all;
透明背景 <IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>
获得style内容 obj.style.cssText
HTML标签 
document.documentElement.innerHTML
第一个style标签 document.styleSheets[0]
style标签里的第一个样式 
document.styleSheets[0].rules[0]
防止点击空链接时,页面往往重置到页首端。 <a href="javascript:function()">word</a>
上一网页源 asp: request.servervariables("HTTP_REFERER") 
javascript: document.referrer
释放内存 CollectGarbage();
禁止右键document.oncontextmenu = function() { return false;}
禁止保存 <noscript><iframe src="*.htm"></iframe></noscript>
禁止选取<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()>
禁止粘贴 <input type=text onpaste="return false">
地址栏图标 <link rel="Shortcut Icon" href="favicon.ico"> favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
收藏栏图标 <link rel="Bookmark" href="favicon.ico">
查看源码 <input type=button value=查看网页源代码 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">
关闭输入法 <input style="ime-mode:disabled">
自动全选<input type=text name=text1 value="123" onfocus="this.select()">
ENTER键可以让光标移到下一个输入框 <input onkeydown="if(event.keyCode==13)event.keyCode=9">
文本框的默认值 <input type=text value="123" onfocus="alert(this.defaultValue)">
title换行 obj.title = "123&#13sdfs&#32"
获得时间所代表的微秒 var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
窗口是否关闭 win.closed
checkbox扁平 <input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br>
获取选中内容 
document.selection.createRange().duplicate().text
自动完成功能 <input type=text autocomplete=on>打开该功能 
<input type=text autocomplete=off>关闭该功能  
窗口最大化 <body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">
无关闭按钮IE window.open("aa.htm", "meizz", "fullscreen=7");
统一编码/解码 
alert(decodeURIComponent(encodeURIComponent("http://你好.com&#63;as= hehe"))) encodeURIComponent对":"、"/"、";" 和 "&#63;"也编码
表格行指示 <tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">

//各种尺寸

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] 匹配空行的正则表达式: [\s| ]*\r
匹配HTML标记的正则表达式:/.*|/ 
匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 以下是例子: 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

//消除图像工具栏

复制代码 代码如下:
javascript 应用小技巧方法汇总_javascript技巧  or

//无提示关闭

复制代码 代码如下:
function Close() { var ua=navigator.userAgent var ie=navigator.appName=="Microsoft Internet Explorer"?true:false if(ie) {       var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))))   if(IEversion'
       str += '';
       document.body.insertAdjacentHTML("beforeEnd", str);
       document.all.noTipClose.Click();   }       else   {
       window.opener =null;
       window.close();       }    } else {
  window.close()    } }

//取得控件得绝对位置(1)

复制代码 代码如下:

//获得控件的绝对位置(2)
oRect = obj.getBoundingClientRect(); 
oRect.left oRect.

//最小化,最大化,关闭

<object id=min classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> 
<param name="Command" value="Minimize"></object> 
<object id=max classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> 
<param name="Command" value="Maximize"></object> 
<OBJECT id=close classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> 
<PARAM NAME="Command" value="Close"></OBJECT> 
<input type=button value=最小化 onclick=min.Click()> 
<input type=button value=最大化 onclick=max.Click()> 
<input type=button value=关闭 onclick=close.Click()> 

//光标停在文字最后

复制代码 代码如下:


//页面进入和退出的特效

进入页面
推出页面 
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使 用哪种特效,取值为1-23:
  0 矩形缩小    1 矩形扩大    2 圆形缩小   3 圆形扩大    4 下到上刷新 
  5 上到下刷新   6 左到右刷新    7 右到左刷新    8 竖百叶窗   9 横百叶窗 
  10 错位横百叶窗    11 错位竖百叶窗   12 点扩散    13 左右到中间刷新 
  14 中间到左右刷新   15 中间到上下   16 上下到中间    17 右下到左上   18 右上到左下 
  19 左上到右下    20 左下到右上   21 横条    22 竖条    23

//网页是否被检索

  其中属性值有以下一些:   属性值为"all": 文件将被检索,且页上链接可被查询;   属性值为"none": 文件不被检索,而且不查询页上的链接;   属性值为"index": 文件将被检索;   属性值为"follow": 查询页上的链接;   属性值为"noindex": 文件不检索,但可被查询链接;   属性值为"nofollow":

//打印分页

page1

  

page2

 

//设置打印

<object id="factory" style="display:none" viewastext  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" 
 codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360" ></object> 
<input type=button value=页面设置 onclick="factory.printing.PageSetup()"> 
<input type=button value=打印预览 onclick="factory.printing.Preview()">  
<script language=javascript> function window.onload() {  // -- advanced features  factory.printing.SetMarginMeasure(2) // measure margins in inches  factory.printing.SetPageRange(false, 1, 3) // need pages from 1 to 3  factory.printing.printer = "HP DeskJet 870C" 
  factory.printing.copies = 2  factory.printing.collate = true 
  factory.printing.paperSize = "A4" 
  factory.printing.paperSource = "Manual feed"  // -- basic features  factory.printing.header = "居左显示&b居中显示&b居右显示页码,第&p页/共&P页" 
  factory.printing.footer = "(自定义页脚)" 
  factory.printing.portrait = false 
  factory.printing.leftMargin = 0.75 
  factory.printing.topMargin = 1.5 
  factory.printing.rightMargin = 0.75 
  factory.printing.bottomMargin = 1.5 } function Print(frame) { 
 factory.printing.Print(true, frame) // print with prompt } </script> 
<input type=button value="打印本页" onclick="factory.printing.Print(false)"> 
<input type=button value="页面设置" onclick="factory.printing.PageSetup()"> 
<input type=button value="打印预览" onclick="factory.printing.Preview()"><br> 
<a href="http://www.meadroid.com/scriptx/docs/printdoc.htm&#63;static" target=_blank>具体使用手册,更多信息,点这里</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) 关闭窗体无提示 
<style media=print> 
.Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目--> 
.PageNext{page-break-after: always;}<!--控制分页--> </style> 
<object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">   
</object>    <center class="Noprint" > 
<input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)> 
<input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)> 
<input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)> 
</p> 
<p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)> 
</center>

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

<script language="JavaScript">  var HKEY_Root,HKEY_Path,HKEY_Key; 
HKEY_Root="HKEY_CURRENT_USER"; 
HKEY_Path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"; 
//设置网页打印的页眉页脚为空 function PageSetup_Null() { try { 
     var Wsh=new ActiveXObject("WScript.Shell");  HKEY_Key="header"; 
 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");  HKEY_Key="footer"; 
 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,""); } catch(e){} } //设置网页打印的页眉页脚为默认值 function PageSetup_Default() {  try 
{  var Wsh=new ActiveXObject("WScript.Shell");  HKEY_Key="header"; 
 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P"); 
 HKEY_Key="footer"; 
 Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d"); } catch(e){} } </script> 
<input type="button" value="清空页码" onclick=PageSetup_Null()> 
<input type="button" value="恢复页码" onclick=PageSetup_Default()>

//浏览器验证

function checkBrowser() {   this.ver=navigator.appVersion   this.dom=document.getElementById&#63;1:0   this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)&#63;1:0;   this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)&#63;1:0;   this.ie4=(document.all && !this.dom)&#63;1:0;   this.ns5=(this.dom && parseInt(this.ver) >= 5) &#63;1:0;   this.ns4=(document.layers && !this.dom)&#63;1:0;   this.mac=(this.ver.indexOf('Mac') > -1) &#63;1:0; 
  this.ope=(navigator.userAgent.indexOf('Opera')>-1); 
  this.ie=(this.ie6 || this.ie5 || this.ie4)   this.ns=(this.ns4 || this.ns5)   this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope)   this.nbw=(!this.bw)   return this; 
}

//计算内容宽和高

<SCRIPT language="javascript">  function test(obj)  {     var range = obj.createTextRange();  
    alert("内容区宽度: " + range.boundingWidth   
                         + "px\r\n内容区高度: " + range.boundingHeight + "px");         }  
</SCRIPT>  <BODY>  <Textarea id="txt" height="150">sdf</textarea><INPUT type="button" value="计算内容宽度" onClick="test(txt)">  </BODY>

//无模式的提示框

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

//屏蔽按键

<html> 
<head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
 <noscript><meta http-equiv="refresh" content="0;url=about:noscript"></noscript> 
 <title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title> 
</head> <body> <script language="Javascript"><!--  //屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键  //Author: meizz(梅花雨) 2002-6-18 function document.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键 function window.onhelp(){return false} //屏蔽F1帮助 function document.onkeydown() 
{  if ((window.event.altKey)&& 
   ((window.event.keyCode==37)||  //屏蔽 Alt+ 方向键 ←    (window.event.keyCode==39)))  //屏蔽 Alt+ 方向键 →  {   alert("不准你使用ALT+方向键前进或后退网页!"); 
   event.returnValue=false;  } 
   /* 注:这还不是真正地屏蔽 Alt+ 方向键, 
   因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,   用鼠标点掉警告框,这种屏蔽方法就失效了。以后若 
   有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/  if ((event.keyCode==8) ||         //屏蔽退格删除键    (event.keyCode==116)||         //屏蔽 F5 刷新键    (event.ctrlKey && event.keyCode==82)){ //Ctrl + R   event.keyCode=0; 
   event.returnValue=false;   } 
 if (event.keyCode==122){event.keyCode=0;event.returnValue=false;} //屏蔽F11  if (event.ctrlKey && event.keyCode==78) event.returnValue=false;  //屏蔽 Ctrl+n  if (event.shiftKey && event.keyCode==121)event.returnValue=false; //屏蔽 shift+F10  if (window.event.srcElement.tagName == "A" && window.event.shiftKey) 
   window.event.returnValue = false;       //屏蔽 shift 加鼠标左键新开一网页  if ((window.event.altKey)&&(window.event.keyCode==115))       //屏蔽Alt+F4  { 
   window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); 
   return false;  } } </script> 
屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键 </body> 

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Python vs. JavaScript:开发人员的比较分析Python vs. JavaScript:开发人员的比较分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

Python vs. JavaScript:选择合适的工具Python vs. JavaScript:选择合适的工具May 08, 2025 am 12:10 AM

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript:了解每个的优势Python和JavaScript:了解每个的优势May 06, 2025 am 12:15 AM

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

JavaScript的核心:它是在C还是C上构建的?JavaScript的核心:它是在C还是C上构建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript应用程序:从前端到后端JavaScript应用程序:从前端到后端May 04, 2025 am 12:12 AM

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

Python vs. JavaScript:您应该学到哪种语言?Python vs. JavaScript:您应该学到哪种语言?May 03, 2025 am 12:10 AM

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。

JavaScript框架:为现代网络开发提供动力JavaScript框架:为现代网络开发提供动力May 02, 2025 am 12:04 AM

JavaScript框架的强大之处在于简化开发、提升用户体验和应用性能。选择框架时应考虑:1.项目规模和复杂度,2.团队经验,3.生态系统和社区支持。

JavaScript,C和浏览器之间的关系JavaScript,C和浏览器之间的关系May 01, 2025 am 12:06 AM

引言我知道你可能会觉得奇怪,JavaScript、C 和浏览器之间到底有什么关系?它们之间看似毫无关联,但实际上,它们在现代网络开发中扮演着非常重要的角色。今天我们就来深入探讨一下这三者之间的紧密联系。通过这篇文章,你将了解到JavaScript如何在浏览器中运行,C 在浏览器引擎中的作用,以及它们如何共同推动网页的渲染和交互。JavaScript与浏览器的关系我们都知道,JavaScript是前端开发的核心语言,它直接在浏览器中运行,让网页变得生动有趣。你是否曾经想过,为什么JavaScr

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境