首页web前端js教程Javascript 小技巧全集_JavaScript

Javascript 小技巧全集_JavaScript

May 16, 2016 pm 07:29 PM
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" 
自动刷新 
 
简单邮件 
  
快速转到位置 
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;  


//过滤数字

"return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">


//特殊用途

"window.external.ImportExportFavorites(true,'http://localhost');">
"window.external.ImportExportFavorites(false,'http://localhost');">
"window.external.ShowBrowserUI('OrganizeFavorites', null)">
"window.external.ShowBrowserUI('LanguageDialog', null)">
"window.external.AddFavorite('http://www.google.com/', 'google')">
"window.external.addChannel('http://www.google.com/')">
"window.external.showBrowserUI('PrivacySettings',null)">


//不缓存

"pragma" CONTENT="no-cache">
"Cache-Control" CONTENT="no-cache, must-revalidate">
"expires" CONTENT="0">


//正则匹配

匹配中文字符的正则表达式: [\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- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文: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,''))"


//消除图像工具栏

"mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false"
or

"imagetoolbar" content="no">


//无提示关闭

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< 5.5)
{
var str = '"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
       str += '"Command" value="Close">
';
       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.


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

"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> 
"Command" value="Minimize">
 
"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> 
"Command" value="Maximize">
 
"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> 
"Command" value="Close">
 
 
 
 


//光标停在文字最后 


"123" onfocus="cc()">


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

进入页面"Page-Enter" content="revealTrans(duration=x, transition=y)">
推出页面"Page-Exit" content="revealTrans(duration=x, transition=y)"
这个是页面被载入和调出时的一些特效。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 


//网页是否被检索

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


//打印分页

"page-break-after:always">page1

  

"page-break-after:always">page2

 

//设置打印

"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"
>

"factory.printing.PageSetup()">
"factory.printing.Preview()">


"打印本页" onclick="factory.printing.Print(false)">
"页面设置" onclick="factory.printing.PageSetup()">
"打印预览" onclick="factory.printing.Preview()">

"http://www.meadroid.com/scriptx/docs/printdoc.htm?static" target=_blank>具体使用手册,更多信息,点这里
 


//自带的打印预览

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) 关闭窗体无提示 
 
"WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">    
    

"Noprint" >
 
 
 

 

  


 

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


"button" value="清空页码" onclick=PageSetup_Null()>
"button" value="恢复页码" onclick=PageSetup_Default()>

//浏览器验证


 

function checkBrowser()

   this.ver=navigator.appVersion 
   this.dom=document.getElementById?1:0 
   this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0; 
   this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
   this.ie4=(document.all && !this.dom)?1:0; 
   this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
   this.ns4=(document.layers && !this.dom)?1:0; 
   this.mac=(this.ver.indexOf('Mac') > -1) ?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;
}

//计算内容宽和高

  
  
"button" value="计算内容宽度" onClick="test(txt)">  

//无模式的提示框

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


//屏蔽按键




  "Content-Type" content="text/html; charset=gb2312">
  
  屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键



屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键

//屏蔽打印


//移动的图层,拖动

1.this) onmousemove=MouseMove() onmouseup=MouseUp()>meizz

2.

"myp" src="logo.gif" ondrag="doDrag();" onmouseover="this.style.cursor='hand'" style="position:absolute;left=100;top=100;" onmousedown="doMouseDown();">
"#" onclick="return false">

wlecome




 


//文档状态改变 


<script> <br><span style="COLOR: #0000ff">var</span> doc=window.frames[<span style="COLOR: #ff00ff">"f"</span>].document; <br><span style="COLOR: #0000ff">function</span> s(){ <br> <span style="COLOR: #0000ff">if</span> (doc.readyState==<span style="COLOR: #ff00ff">"complete"</span>){ <br>  document.all.f.style.height=doc.body.scrollHeight <br>  document.all.f.style.width=doc.body.scrollWidth <br> } <br>} <br>doc.onreadystatechange=s <br></script>


//刷新后不变的文本框



"save" CONTENT="history">







//访问剪贴板

(1)拖拽访问
event.dataTransfer.setData("URL", oImage.src);
sImageURL = event.dataTransfer.getData("URL")
(2)普通访问
window.clipboardData.setData("Text",oSource.innerText);
window.clipboardData.getData("Text");


//操作COOKIE

function SetCookie(sName, sValue)
{
 document.cookie = sName + "=" + escape(sValue) + "; ";
}
function GetCookie(sName)
{
 var aCookie = document.cookie.split("; ");
 for (var i=0; i < aCookie.length; i++)
 {

  var aCrumb = aCookie[i].split("=");
  if (sName == aCrumb[0]) 
  return unescape(aCrumb[1]);
 }

}
function DelCookie(sName)
{
document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
}

//setTimeout增加参数


<script> <br><span style="COLOR: #0000ff">var</span> _st = window.setTimeout; <br>window.setTimeout = <span style="COLOR: #0000ff">function</span>(fRef, mDelay) { <br> <span style="COLOR: #0000ff">if</span>(typeof fRef == '<span style="COLOR: #0000ff">function</span>'){ <br>  <span style="COLOR: #0000ff">var</span> argu = <span style="COLOR: #ff0000">Array</span>.prototype.slice.call(arguments,2); <br>  <span style="COLOR: #0000ff">var</span> f = (<span style="COLOR: #0000ff">function</span>(){ fRef.apply(<span style="COLOR: #0000ff">null</span>, argu); }); <br>  <span style="COLOR: #0000ff">return</span> _st(f, mDelay); <br> } <br> <span style="COLOR: #0000ff">return</span> _st(fRef,mDelay); <br>} <br><span style="COLOR: #0000ff">function</span> test(x){ <br> alert(x); <br>} <br>window.setTimeout(test,1000,'fason'); <br></script>

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
JavaScript数据类型:浏览器和nodejs之间是否有区别?JavaScript数据类型:浏览器和nodejs之间是否有区别?May 14, 2025 am 12:15 AM

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScript评论:使用//和 / * * / * / * /JavaScript评论:使用//和 / * * / * / * /May 13, 2025 pm 03:49 PM

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

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有强大的前端框架。

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

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

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

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

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用