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).appendC hild(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"
  自动刷新
  
  简单邮件
  
  快速转到位置
  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;
  //过滤数字
  =48&&event.keyCode
  //特殊用途
  
  
  
  
  
  
  
  //不缓存
  
  
  
  //正则匹配
  匹配中文字符的正则表达式: [/u4e00-/u9fa5]
  匹配双字节字符(包括汉字在内):[^/x00-/xff]
  匹配空行的正则表达式:/n[/s| ]*/r
  匹配HTML标记的正则表达式:/.*|/
  匹配首尾空格的正则表达式:(^/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',clipbo ardData.getData('text').replace(/[^/u4E00-/u9FA5]/g ,''))"
  1.用正则表达式限制只能输入全角字符: οnkeyup="value=value.replace(/[^/uFF00-/uFFFF]/g,' ')" onbeforepaste="clipboardData.setData('text',clipbo ardData.getData('text').replace(/[^/uFF00-/uFFFF]/g ,''))"
  2.用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^/d]/g,'') "onbeforepaste="clipboardData.setData('text',clipb oardData.getData('text').replace(/[^/d]/g,''))"
  3.用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[/W]/g,'') "onbeforepaste="clipboardData.setData('text',clipb oardData.getData('text').replace(/[^/d]/g,''))"
  //消除图像工具栏
  
  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)
  
  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
  }
  
  //获得控件的绝对位置(2)
  oRect = obj.getBoundingClientRect();
  oRect.left
  oRect.
  //最小化,最大化,关闭
  
  
  
  
  
  
  
  
  
  //光标停在文字最后
  
  function cc()
  {
  var e = event.srcElement;
  var r =e.createTextRange();
  r.moveStart('character',e.value.length);
  r.collapse(true);
  r.select();
  }
  
  
  //页面进入和退出的特效
  进入页面
  推出页面
  这个是页面被载入和调出时的一些特效。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
  //设置打印
  
  
  
  
  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
  }
  
  
  
  

  具体使用手册,更多信息,点这里
  //自带的打印预览
  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) 关闭窗体无提示
  
  .Noprint{display:none;}
  .PageNext{page-break-after: always;}
  
  
  
  
  
  
  
  
  
  
  //去掉打印时的页眉页脚
  
  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){}
  }
  
  
  
  文章来源:http://hi.baidu.com/jiaojunqian1/blog/item/e743ac0 106b814021c9583eb.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值