JavaScript 开发基础知识

转自: http://blog.sina.com.cn/s/blog_473491a40100fe0w.html


  • 事件源对象
    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_x("SPAN");  
  • 根据鼠标获得元素:
    document.elementFromPoint(event.x,event.y).tagName=="TD
    document.elementFromPoint(event.x,event.y).appendChild(ms)  
  • 窗体图片
    document.images[索引]
  • 窗体事件绑定
    document.οnmοusedοwn=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" C>
  • 简单邮件
    <a    href="
    [email=aaa@bbb.com?subject=ccc&body=xxxyyy]mailto:aaa@bbb.com?subject=ccc&body=xxxyyy [/email]">  
  • 快速转到位置
    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     Shortcut Icon" href="favicon.ico">
    favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
  • 收藏栏图标
    <link rel="Bookmark" href="favicon.ico">
  • 查看源码
    <input type=button value=查看网页源代码 >
  • 关闭输入法
    <input style="ime-mode:disabled">
  • 自动全选
    <input type=text name=text1 value="123" >
  • ENTER键可以让光标移到下一个输入框
    <input >
  • 文本框的默认值
    <input type=text value="123" >
  • title换行
    obj.title = "123 sdfs "
  • 获得时间所代表的微秒
    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 >
  • 无关闭按钮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;




//过滤数字

<input type=text οnkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" οnpaste="return !clipboardData.getData('text').match(//D/)"   οndragenter="return false" >


//特殊用途

<input type=button value=导入收藏夹 οnclick="window.external.ImportExportFavorites(true,'http://localhost');" >
<input type=button value=导出收藏夹 οnclick="window.external.ImportExportFavorites(false,'http://localhost');" >
<input type=button value=整理收藏夹 οnclick="window.external.ShowBrowserUI('OrganizeFavorites', null)" >
<input type=button value=语言设置 οnclick="window.external.ShowBrowserUI('LanguageDialog', null)" >
<input type=button value=加入收藏夹 οnclick="window.external.AddFavorite('http://www.google.com/', 'google')" >
<input type=button value=加入到频道 οnclick="window.external.addChannel('http://www.google.com/')" >
<input type=button value=加入到频道 οnclick="window.external.showBrowserUI('PrivacySettings',null)" >



//不缓存

<META HTTP-EQUIV="pragma"   CONTENT="no-cache" >
<META HTTP-EQUIV="Cache-Control"   CONTENT="no-cache, must-ridate" >
<META HTTP-EQUIV="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- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^/u4E00-/u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"
3.用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[/W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))"



//消除图像工具栏

<IMG SRC="mypicture.jpg"   HEIGHT="100px"   WIDTH="100px"   GALLERYIMG="false" >  
or
<head>
<meta http-equiv="imagetoolbar"   content="no" >
</head>



//无提示关闭

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    = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11" >'
    str += '<param name="Command"   value="Close" ></object>';
    document.body.insertAdjacentHTML("beforeEnd" , str);
    document.all.noTipClose.Click();
    }
    else
    {
    window.opener =null ;
    window.close();
    }
}
else
{
    window.close()
}
}




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

<script language="javascript" >  
function   getoffset(e)
{  
var   t=e.offsetTop;  
var   l=e.offsetLeft;  
while (e=e.offsetParent)
{  
    t+=e.offsetTop;  
    l+=e.offsetLeft;  
}  
var   rec =  new   Array (1);
rec[0]    = t;
rec[1] = l;
return   rec
}  
</script>




//获得控件的绝对位置(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=最小化 οnclick=min.Click()>  
<input type=button value=最大化 οnclick=max.Click()>  
<input type=button value=关闭 οnclick=close.Click()> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值