javascript - dom

动态设置事件:

1. <input type="button" value="val1" οnclick="fn1();"/>;

2.

ie支持     attachEvent
w3c标准   addEventListener
if (!window.event) {
                document.getElementById("btn").addEventListener("click", function () {
                    alert("aa");
                });
                document.getElementById("btn").addEventListener("click", function () {
                    alert("bb");
                });
            }
            else {
                document.getElementById("btn").attachEvent("onclick", function () {
                    alert("aa");
                });
            }
--------------------------------------
window对象方法:
1. 产生一个定时器
window.setInterval(code,delay);
var intervalId = setInterval("alert('hello');",1000);
2.停止计时器
window.clearInterval(intervalId);
clearInterval(intervalId);
3. 产生超时定时器,只执行一次
var timerId = setTimeout("alert('hello');",1000);
4. 清除定时器
clearTimeout(timerId);
----------------------------------
body、document对象的事件
onload(页面加载后触发)、onclick(单击)、ondblclick(双击)、onkeydown(按键按下)、onkeypress(点击按键)、onkeyup(按键释放)、onmousedown(鼠标按下)、onmousemove(鼠标移动)、onmouseout(鼠标离开元素范围)、onmouseover(鼠标移动到元素范围)、onmouseup(鼠标按键释放)、oncontextmenu(在浏览器中单击鼠标右键显示”右键菜单”时触发)等。
----------------------------------
window对象属性
1. window.location对象
window.location.href="";//重新导航到新页面
2. window.event 是IE下非常重要的属性,用来获得发生事件时的信息。
clientX、clientY 发生事件时鼠标在客户区的坐标;
--兼容的写法--
<scripttype="text/javascript">
        document.body.οnmοusemοve=function () {
            if (window.event) {
                document.title='('+window.event.clientX+','+window.event.clientY+')';
            } else {
                document.title='('+arguments[0].clientX+','+arguments[0].clientY+')';
            }
        }
    </script>
screenX、screenY 发生事件时鼠标在屏幕上的坐标;
offsetX、offsetY 发生事件时鼠标相对于事件源(比如点击按钮时触发onclick)的坐标;
returnValue:如果将returnValue设置为false,就会取消默认行为的处理。window.event.returnValue不兼容火狐浏览器,FireFox:e. preventDefault();取消事件的默认动作。
srcElement:获得事件源对象。FF下用e.target;
screen对象:获取屏幕的信息。
alert("分辨率:" + screen.width + "*" + screen.height);
if (screen.width < 1024 || screen.height < 768) {
alert("分辨率太低!");
}
clipboardData对象,对粘贴板的操作。
setData("Text",val),设置粘贴板中的值;
getData("Text"),读取粘贴板的值
clearData("Text"),清空粘贴板;
案例:复制地址给友好
<input type="button" value="推荐给好友" οnclick="clipboardData.setData('Text','推荐给你一个网站,很好玩'+location.href);alert('已经将网址放到粘贴板中,发给你的好友即可');"/>
案例:禁止粘贴帐号
帐号:<input type="text" /><br />
重复帐号:<input type="text" οnpaste="alert('为保证帐号的正确,请勿粘贴帐号');return false;" />
修改粘贴板中的内容
function modifyClipboard() {
clipboardData.setData('Text', clipboardData.getData('Text') + '本文来自**技术专区,转载请注明来源。' + location.href);
}
οncοpy="setTimeout('modifyClipboard()',100);“
用户复制动作发生0.1秒以后再去改粘贴板中的内容。
history操作历史记录
•window.history.back()后退;window.history.forward()前进。
•window.history.go(-1)后退、window.history.go(1)前进。
document
getElementById(),
getElementsByName(),
getElementsByTagName(),
--------------------------
事件冒泡
事件冒泡:如果元素A嵌套在元素B中,那么A被点击不仅A的onclick事件会被触发,B的onclick也会被触发。触发的顺序是“由内而外”。
取消事件冒泡: window.event.cancelBubble=true;//IE下的写法。
--------------------------
动态创建dom
document.write只能在页面加载过程中才能动态创建。
document的createElement方法来创建具有指定标签的DOM对象,然后通过调用某个元素的appendChild();方法将新创建元素添加到相应的元素下。//父元素对象.removeChild(子元素对象);删除元素。
function showIt() {
var divMain = document.getElementById("divMain");
var btn = document.createElement("input");
btn.type = "button";
btn.value = "我是动态的!";
divMain.appendChild(btn);
}
<div id="divMain"></div>
<input type="button" value="ok" οnclick="showit()" />
几乎所有DOM元素都有innerTextinnerHTML属性,分别是元素标签内内容的文本表示形式和HTML源代码.
//FF不支持innerText,在FF下用textContent属性。也可以用innerHTML设置普通文本。
用innerHTML也可以替代createElement,属于简单、粗放型、后果自负的创建。
示例:
function createlink() {
var divMain = document.getElementById("divMain");
divMain.innerHTML = "<a href='http://www.baidu.com'>百度</a>";
}
浏览器兼容性的例子:ie6,ie7对table.appendChild("tr")的支持和IE8不一样,用insertRow、insertCell来代替。
 <script type="text/javascript">
function AddComment() {
var txtContent = document.getElementById('txtArea1').value; //获得评论文字
var txtNickname = document.getElementById('txtNickname').value; ; //获得昵称
var tableObj = document.getElementById('tabComment');
var trTag = tableObj.insertRow(-1);
var tdTag1 = trTag.insertCell(-1);
tdTag1.innerHTML = txtNickname;
var tdTag2 = trTag.insertCell(-1);
tdTag2.innerHTML = txtContent;            
}
</script>

删除节点:
divObj
While(divObj.firstChild){
      divObj.removeChild(divObj.firstChild);
}
divObj.innerHTML=‘’;的区别
后一种方式来删除节点,在某些情况下会存在内存问题。
例如divObj下面有很多其他元素,每个元素都绑定有事件处理程序。此时,innerHTML只是把当前元素从节点树上移除了,但是那些事件处理程序依然占用内存。
-----------------------------------------
js动态修改样式
注意在css中属性名与在JavaScript中操作的时候属性名可能不一样,主要集中在那些属性名中含有-的属性,因为JavaScript中-是不能做属性、类名的。
所以CSS中背景颜色是background-color,而JavaScript则是style. backgroundColor;元素样式名是class,在JavaScript中是className属性;
font-size→style.fontSize;margin-top→style.marginTop //驼峰命名法。
操作float样式的时候,IE与其他浏览器不太一样。IE:obj.style.styleFloat=‘right’;其他浏览器:obj.style.cssFloat=‘right’;
//通用代码:
var vv=document.getElementById('dv1');
            if (typeof (vv.style.styleFloat) =='string') {
                vv.style.styleFloat='right';
            } else {
                vv.style.cssFloat='right';
            }
-------------------------------------
javascript去掉字符串两端空格
<script type="text/javascript">
  function trim(str){ //删除左右两端的空格
       return str.replace(/(^\s*)|(\s*$)/g, "");
  }
  function ltrim(str){ //删除左边的空格
       return str.replace(/(^\s*)/g,"");
  }
   function rtrim(str){ //删除右边的空格
       return str.replace(/(\s*$)/g,"");
  }
</script>
--------------------------------------------------
js中的正则表达式
JavaScript中创建正则表达式类的方法:
1.var regex = new RegExp("\\d{5}") 或者 2.var regex = / \d{5} /
/表达式/是JavaScript中专门为简化正则表达式编写而提供的语法,写在//中的正则表达式就不用管转义符了。
RegExp对象的方法:
(1)test(str)判断字符串str是否匹配正则表达式,相当于IsMatch
var regex = /.+@.+/;
alert(regex.test(a@b.com));
(2)exec(str)进行搜索匹配,返回值为匹配结果(*),相当于c#中match()和matches()。
•如果 exec() 找到了匹配的文本,则返回一个结果数组(完全匹配的字符串以及提取组的结果。)。否则,返回 null。 要提取多个需要反复调用exec()类似于matches()方法。//注意全局模式/…../g
•在非全局模式下,调用一次exec()相当于match();在全局模式下连续多次调用相当于matches()
2.string的正则表达式方法
(1)match(regexp),非全局模式下相当于调用exec(),全局模式下相当于调用c#的matches()。
var s = "aaa@163.com";
var regex = /(.+)@(.+)/;
var match = s.match(regex);
(2)replace方法,字符串.replace(//g,要替换的字符串$1”);
       var str="Welcome to Microsoft!We are proud to announce that Microsoft has";
        str.replace(/Microsoft/g, "W3School"));
-----------------------------------
常用keyCode
8:退格键
9: Tab
13:回车
46delete
37-40:方向键
48-57:小键盘区的数字
96-105:主键盘区的数字
110190:小键盘区和主键盘区的小数点
189109:小键盘区和主键盘区的负号
<body οnkeydοwn="if(window.event.keyCode==13){window.event.keyCode=9;}">

 

转载于:https://www.cnblogs.com/chay1227/archive/2013/01/05/2845070.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ajax提交手机号去数据库验证并返回状态值

<script type"text/javascript">$(function(){$(.agree_regi).click(function(){var phone $.trim($("#phone").val());if(phone ""){NewAlert(2,"请输入手机号",null);return false;}else{var reg /^0?1[3|4|5|8|7][0-9]\d…

在同一台机器上启动多个JBoss A-MQ JVM

因此&#xff0c;我最近没有写过博客-只是很忙。 但是&#xff0c;我新年的决心是写一些博客&#xff0c;分享一些我经常遇到的事情&#xff0c;即使这些简单的事情可能会帮助一些人。 因此&#xff0c;对于本条目&#xff0c;我将展示一种在单台机器上启动多个JBoss A-MQ实例…

TreeMap源码分析——深入分析(基于JDK1.6)

TreeMap有Values、EntrySet、KeySet、PrivateEntryIterator、EntryIterator、ValueIterator、KeyIterator、DescendingKeyIterator、NavigableSubMap、AscendingSubMap、DescendingSubMap、SubMap、Entry共十三个内部类。Entry是在TreeMap中用于表示树的节点的内部类&#xff0…

使用Curator和ZooKeeper发现Hazelcast成员

在一个项目中&#xff0c;我正在私有云中设置Hazelcast集群。 在群集内&#xff0c;所有节点都必须互相看见&#xff0c;因此在引导过程中&#xff0c;Hazelcast将尝试查找其他群集成员。 没有服务器&#xff0c;并且所有节点都相等。 在Hazelcast中实现了多种发现成员的技术。…

Work Queue based multi-threading

http://www.codeproject.com/Articles/8886/Work-Queue-based-multi-threading转载于:https://www.cnblogs.com/hongjiumu/archive/2013/01/06/2846946.html

功能介面

目录 1.简介 2.理由 3. Lambda表达式 4.谓词<T> 5. BiPredicate <T&#xff0c;U> 6.函数<T&#xff0c;R> 7. BiFunction <T&#xff0c;U&#xff0c;R> 8.消费者<T> 9. BiConsumer <T&#xff0c;U> 10.供应商<T> 11.一元运算符&…

WMI 使用教程_.NET 入门教程

WMI 使用教程_.NET 入门教程 先介绍一下WMI 相关知识: 什么是WMI 呢&#xff1f; Windows 管理规范 (Windows Management Instrumentation ),它的主要功 能包括:访问本地主机的一些信息和服务,可以远程管理计算机(当然你必须拥有足够的权限) 也就是说可以象重起,关机,关闭进程,…

h5输入框提示语 正常文本框提示语

<input id"username" name"username" type"text" placeholder" 请输入用户名/手机号" value"" style"width:100%;height:32px;border-style:none "/> placeholder" 请输入用户名/手机号"&…

研究Java 9 Money and Currency API(JSR 354)

JSR 354定义了一个用于处理货币和货币的新Java API&#xff0c;计划将其包含在Java 9中。在本文中&#xff0c;我们将研究参考实现的当前状态&#xff1a; JavaMoney 。 就像我关于Java 8日期/时间API的帖子一样&#xff0c;该帖子将主要由显示新API的代码驱动。 但是在开始…

jquery css事件编程 尺寸设置

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/xhtml"><head><title>jquery css事件编程 尺寸设…

Python2.6 Cx_Oracle Linux下编译安装

分类&#xff1a; python Oracle 2012-06-07 00:04 239人阅读 评论(0) 收藏 举报(一) Python 2.6 安装 1.下载Python2.6.X 版本的源码包&#xff0c;这里采用平台编译安装。 Python-2.6.4.tar.bz2 2.解压缩 ,使用J参数解压bigz2类型的压缩文件 tar -jxvf Python-2.6.4.tar.bz2…

Apache TomEE(和Tomcat)的自签名证书

可能在大多数Java EE项目中&#xff0c;您将拥有具有SSL支持&#xff08; https &#xff09;的部分或整个系统&#xff0c;因此浏览器和服务器可以通过安全连接进行通信。 这意味着在处理数据之前&#xff0c;已发送的数据已加密&#xff0c;传输并最终解密。 问题在于&…

WEB效能测试和负载测试部分截图

效能测试&#xff1a; 负载测试&#xff1a; 转载于:https://www.cnblogs.com/DOOM-scse/archive/2013/01/07/2849110.html

Java8 Lambdas:解释性能缺陷的排序

与Peter Lawrey合作撰写 。 几天前&#xff0c;我对使用新的Java8声明式的排序性能提出了严重的问题。 在这里查看博客文章。 在那篇文章中&#xff0c;我仅指出了问题所在&#xff0c;但在这篇文章中&#xff0c;我将更深入地了解和解释问题的原因。 这将通过使用声明式样式重…

jquery子元素选择器

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/xhtml"><head><title>子元素选择器</title>…

Asp.net MVC3.0 基于不同的角色显示不同的菜单

前面提到过用Asp.net MVC3.0正在做一个问答系统性质的论坛。前期把菜单全部显示以方便测试模块功能。现在正在完善&#xff0c;加上角色模块&#xff0c;然后不同的角色登陆系统会看到不同的菜单栏&#xff0c;还有就是游客&#xff08;未登录用户&#xff09;看到的菜单栏。网…

Apache Mesos:编写您自己的分布式框架

在上一篇文章中 &#xff0c;我们了解了mesos是什么&#xff0c;它如何有用&#xff0c;并开始使用它。 在本文中&#xff0c;我们将看到如何在mesos上编写自己的框架。 &#xff08;在mesos中&#xff0c;框架是在其上运行的任何应用程序。&#xff09;本文介绍了一个名为“ m…

jquery可见性选择器(综合)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns"http://www.w3.org/1999/xhtml"><head><title>可见性选择器</title>…

LoadRunner如何监控Linux下的系统资源

前一段时间在研究LoadRunner过程中&#xff0c;在进行压力场景测试中通过LoadRunner来实时监控windows的系统资源&#xff0c;在前几节中我已经总结了相关过程&#xff0c;近段时间发现群里有朋友问如何监控Linux下的系统资源&#xff0c;所以我也就此问题搭建了一些的Linux环境…

页面跳转多种方法(加传参)

onclick"javascript:location.href/HelpCenter/HelpCenter/" <a href"/HelpCenter/HelpCenter">帮助中心</a>点击页面返回上一页&#xff1a; onclick"javascript:window.history.go(-1); *********************************************…