Javascript 实用小技巧(8)

<HTML>
<HEAD>
<TITLE>判断是刷新还是关闭-</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META NAME="Author" CONTENT="51windows,海娃,haiwa">
<META NAME="Description" CONTENT="Power by 51windows.Net">
</HEAD>
<script>
function CloseOpen() {
 if(event.clientX<=0 && event.clientY<0) {
  alert("关闭");
 }
 else
 {
  alert("刷新或离开");
 }
}
</script>
<body onunload="CloseOpen()">
</BODY>
</HTML>


获得光标位置

<textarea rows=10 cols=100 onclick="getCursorPosition()" onkeyup="getCursorPosition()">
北京时间10月6日,世界三大通讯社之一的法新社刊发图文报道,中国国脚孙继海因为在最近的世界杯预选赛中的表现,已经吸引了意大利俱乐部AC米兰和都灵队的争购。中国队只需在10月7日同阿曼队的比赛中战平就将首次进入世界杯决赛圈。图为孙继海(右)1998年12月19日在亚洲杯上的资料图片。</textarea>
<script language=JScript>
function getCursorPosition(){
var src = event.srcElement
var oTR = src.createTextRange()
var oSel = document.selection.createRange()
var textLength = src.innerText.length
var line, char, total, cl
oTR.moveToPoint(oSel.offsetLeft, oSel.offsetTop)
oTR.moveStart("character", -1*textLength)
cl = oTR.getClientRects()
line = cl.length
total = oTR.text.length
oTR.moveToPoint(cl[cl.length-1].left, cl[cl.length-1].top)
oTR.moveStart("character", -1*textLength)
char = total - oTR.text.length
if (oSel.offsetTop != cl[cl.length-1].top) {line++; char = 0}
else if (src.createTextRange().text.substr(oTR.text.length, 2) == "\r\n") char -= 2
window.status = "行: " + line +", 列: " + char + ", 第 " + total + " 个字符"
}
</SCRIPT>


TextRange的常用方法

collapse([bStart])
收起选区,并移动Range的插入点
bStart true(移到开头,default) false(移到末尾)

expand(sUnit)
展开选区,让单位所包括的选区被包含进来

findText(sText [, iSearchScope] [, iFlags])
在Range中查找sText
iSearchScope 开始位置,负数方向搜索
iFlags 1(向后搜索) 2(整词匹配) 4(区别大小写)

moveStart(sUnit [, iCount])
moveEnd(sUnit [, iCount])
移动Range的开头或结尾
sUnit character(字) word(词) sentence(句) textedit(Range)
iCount 移动数量,默认为1

moveToPoint(iX, iY)
移动光标到坐标(iX,iY)

pasteHTML(sHTMLText)
替换Range中的html

scrollIntoView([bAlignToTop])
滚动使之在当前窗口显示
bAlignToTop true(Range在窗口开头) false(Range在窗口底部)

select()
让选区选中状态


事件源对象
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?subject=ccc&body=xxxyyy"> 
快速转到位置
obj.scrollIntoView(true)
 
<a>
<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="https://www.jb51.net/article/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="https://www.jb51.net/article/*.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 href="https://www.jb51.net/favicon.ico">
favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
收藏栏图标
<link href="https://www.jb51.net/favicon.ico">
查看源码
<input type=button value=查看网页源代码>
关闭输入法
<input>
自动全选
<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 sdfs "
获得时间所代表的微秒
var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
窗口是否关闭
win.closed
checkbox扁平
<input type=checkbox><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对":"、"https://www.jb51.net/"、";" 和 "?"也编码
表格行指示
<tr>
获取在父文档中生成 window 的 frame 或 iframe 对像
window.frameElement
获取当前对象的内置window对象,作用于frame或iframe
document.all.object.contentWindow
连接是否访问过
event.srcElement.currentStyle.visited
组件是否安装
clientCaps.isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID"))

//各种尺寸

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdszds.html