JEE_JavaScript1

脚本语言是一种简单的程序,这些程序由一些ASCII字符构成,可以使用任何一种文本编辑器来编写。以往的一些程序如C、C++、Java、C#等都必须经过编译,将源代码编译成二进制的可执行文件后才能运行。而脚本语言不需要事先编译,只要有一个与其相适应的解释器来解释运行。

脚本语言可以分为两类:服务器脚本语言和客户端脚本语言。

服务器脚本语言:ASP,JSP,PHP等。

客户端脚本语言:JavaScript,VBScript和JScript。

 

JavaScript:JavaScript是一种描述性的脚本语言,将JavaScript写入Web页面中能使原来静态的Web页面增加动态效果。

 

JavaScript与Java语言的区别:虽然字面上看二者区别不大,但两者除了在语法上有点相似外,其余地方差别很大。1。Java代码必须先编译后运行,而JavaScript不需要编译,可以由浏览器直接解释执行。2。Java多用于服务器端,JavaScript多用于客户端。如果Java要在客户端运行,则客户机须先安装JVM环境。3。JavaScript可以将代码直接写入到HTML文件中,而使用Java编写的Applet必须独立在HTML文件之外,并在HTML文件中通过调用该Applet来运行。4。JavaScript是动态类型语言,使用的是松散的数据类型,在使用变量之前不需要先声明,而Java是静态类型语言,使用的是严谨的数据类型,变量的使用要先声明数据类型。5。JavaScript和Java当然也可以通过紧密结合,实现强大功能。

 

JavaScript作用:网页特效,表单验证,减少用户操作,增加安全性,减少编写和维护代码的工作量,响应事件,游戏及其它。

 

隐藏HTML中的JavaScript代码:<!-- 代码 -->":由于使用不兼容的浏览器会把JavaScript代码当作标准文本显示出来,而HTML的注释有个作用是注释的文本不会向浏览器提交。所以当使用不兼容的浏览器时,要用一个嵌入JavaScript代码的HTML文档的时候,为了隐藏嵌入的JavaScript代码,可以将JavaScript代码置于HTML代码注释块中。这样,与JavaScript兼容的浏览器会自动忽略HTML注释标签,正常地执行JavaScript代码。与JavaScript兼容的浏览器也不会显示JavaScript代码,而是由浏览器的脚步引擎解释执行。也就是说JavaScript注释标签可以把JavaScript代码从解释器隐藏起来。

 

JavaScript对大小写是敏感的,虽然HTML对大小写不敏感。

JavaScript会忽略空格,换行等,可以由此对程序代码进行排版。

JavaScript中的换行有“断句”的意思,即换行代表前后是两个独立的语句。

JavaScript中的分号代表语句结束,而当代码采用换行时语句也表示介绍,此时可省略分号(但省略分号是不好的编程习惯)。

JavaScript分隔语句的分号是可选的,如果将语句放在不同行中,就可以省略分号。

Javascript虽然是面向对象的语言,但没有准确的类的概念,所以常把对象实例也称为对象。

 

 

 

 

在网页中加入JavaScript:

1.

script标签
<html>
    <head>
        <title>第一个程序</title>
    </head>
    <body>
        <script>
            alert("这是一个由JavaScript创建的对话框");
        </script>
    </body>
</html>

在HTML中加入JavaScript代码,JavaScript语句必须放在<script></script>标签之间。 <script></script>标签理论上可以放在网页文档的任何位置,但一般放在<head>或<body>中

输出警告框:window.alert("这是一个由JavaScript创建的对话框"); //其中window对象名可以省略。

输出文字:document.write("Hello JavaScript");

注释: //  或 /***/  或者用HTML的注释语句<!--  -->

 

2.<script>标记介绍:

script标签的language属性可以设置使用的是哪种脚本语言标准;

 

View Code
<html>
    <head>
        <title>这是一个错误的Script文件</title>
    </head>
    <body>
        <script language="javascript">
            alert("这是一个由JavaScript创建的对话框");
        </script>
    </body>
</html>

 

type属性用来指定脚本语言的MIME类型。 defer属性使当script脚本中没有输出语句时不用停下来等待脚本的执行。

 

 

3.JavaScript除了可以直接嵌入HTML文件中外,也可以独立于HTML文件外:

1。用脚本控制HTML页面

用脚本控制页面
<html>
<head>
<title>using JavaScript to create HTML tages</title>
<script language="javascript">
<!--
a="Wellcome to HTML_JavaScript"
b="  mao"
-->
</script>
</head>
<pre>
<body>
<script language="javascript">
<!--
document.write(a);
document.write(b);
-->
</script>
</body>
</pre>
</html>

2.调用外部JavaScript脚本

调用外部JavaScript脚本
//myHJs.htm
<html>
<body>
<script src=myJs_1.js>
//该例子为调用外部JavaScript脚步允许HTML文档
</script>
</body>
</html>


//myJs_1.js
// JavaScript Document
document.write('hello world!');
//外部JavaScript脚本文件,可供HTML内嵌引用

可以通过设置script标签中的src属性来指定外部JavaScript文件的地址,外部文件扩展名一般是.js,并且外部文件只能含单纯的JavaScript代码,不能含有HTML代码,也不能含script标签。

调用外部文件的JavaScript源代码中,在script标签内不能存在其他JavaScript代码,会直接被忽略。

3.在HTML里可以通过“javascript:”调用JavaScript函数方法。

View Code
<html>
    <head>
        <title>使用“javascript:”</title>
    </head>
    <body>
        <a href="javascript:alert('您点击了这个超链接')">请点我</a>        
    </body>
</html>
View Code
<html>
    <head>
        <title>使用“javascript:”</title>
        <script language="javascript" type="text/javascript">
            <!--
                function OnclickLink()
                {
                    alert("您点击了这个按钮");
                }
            -->
        </script>
    </head>
    <body>
        <a href="javascript:OnclickLink()">请点我</a>
    </body>
</html>

 

4.与事件结合,采用事件触发响应用户操作。

View Code
<html>
    <head>
        <title>与事件相结合</title>
        <script language="javascript" type="text/javascript">
            <!--
                function OnMouseOverLink()
                {
                    alert("您的鼠标从第一个超链接上划过");
                }
            -->
        </script>
    </head>
    <body>
        <a href="#" onMouseOver="OnMouseOverLink()">请将鼠标放在上面</a><br>
        <a href="#" onClick="javascript:alert('您点击了第二个超链接')">请点我</a>        
    </body>
</html>

 

Javascript数据类型:

Javascript是一种无类型的语言,指的是Javascript是一种松散类型、动态类型的语言。因此在Javascript中定义一个变量时是不需要指定变量的数据类型的。

基本数据类型:整型,浮点型,字符型,布尔型

复合数据类型:对象,数组

其他数据类型:函数,null,undefined

八进制数在Javascript中是以数字“0”来开头的

十六进制数在Javascript中是以数字“0x”开头的

在Javascript中,凡是带小数点的小数,Javascript都认为是浮点型的;指数形式表示的数也认为是浮点型的

在Javascript中,不区分单个字符和字符串,都称为字符型,都可以用单引号或双引号表示,如"hello","25"

 

数据类型的转换:

1。隐式类型转换:将类型转换为环境中应该使用的类型。

2。显示类型转换:

将对象转换成字符串:toString()方法。对象不能直接转换成数字型,要先将对象转换成字符型,再转换成数字型。

基本数据类型的转换:Number(),Boolean(),String()等函数转换数字型,布尔型,字符串型。

利用空字符串将数字型转换成字符型:+ " ".

利用减0将字符串型转换成数字型。

利用“!!”运算符将字符串型转换成布尔型。

 

 

常量与变量:

Javascript变量名是区分字母大小写的,Javascript允许不同类型的变量直接进行运算(Javascript不是强类型语言)

变量的声明:通过关键字“var”,如 var GoodBoy;

变量的var声明是永久性的,即用delete运算符来删除变量会导致出错。

如果给一个未用var声明的变量赋值,JavaScript会自动隐式声明该变量,但隐式声明的变量都是创建成全局变量。(局部变量要先用var声明)

变量的赋值,“=”,变量所属的类型就是所赋的值的类型,这是与强类型语言不一样的。

变量的生命周期:全局变量与局部变量,函数内的局部变量的使用要先声明,不然Javascript会认为它是全局变量,改变的是全局变量的值。

变量没有块级作用域,函数中声明的所有变量,无论是先后声明的,在整个函数中它们都是有定义的。(可以不用先声明再调用)

 

变量没有块级作用域
var scope="global";
function f(){
 alert(scope);
 var scope="local";
 alert(scope);
}
F();
//以上代码中的alert()第一次调用的scope显示的是“local”

 

变量的类型转换,直接赋予不同类型的值,变量的类型也就自动转换了,这也是与强类型语言不一样的。

类型转换函数:

eval()将字符串表达式转换成数字值。

parseInt()将字符串转换成整数类型。

psrsFloat()将字符串转换成浮点数类型。

 

 

 

运算符与表达式:

Javascript语句:

for...in语句:循环访问对象的所有属性: for( 变量 in 对象){循环语句}

with语句:给相同对象的标签配置名称,属性或方法: with(共同对象的名称){具体对象的名称属性方法;}

条件嵌套
<!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>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <h1>条件嵌套</h1>
  <title>条件嵌套</title>
</head>

<body>
  <form name="test">
  <hr />
  <h3>说明:</h3>
  <h5>在下面文本框中填入一个数字再敲回车键<br />
  程序会根据输入给出相应的提示<br />
  </h5>
  
  <p><input type="text" name="myin" onchange="return judge()" /></p>
  </form>
</body>
</html>


<script language="javascript">
  <!--
  function judge(){
      if(document.test.myin.value<0)
           alert("您输入了一个负数");
      else if(document.test.myin.value<=10)
            alert("您输入了一个0~10之间的数");
           else
              alert("您输入了一个大于10的数");
      return 0;
  }
  //-->
</script>
for...in语句
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<h1>for...in语句</h1>
<title>for...in语句</title>
</head>
<script language="javascript">
function show(){
    var name,count;
    count=0;
    for(name in document.MyWindow.button){
        count++;
        document.write(name);
        document.write("<br>");
        }
    document.write("<hr>");
    document.write("按钮具有"+count+"种属性");
    return 0;        
}
</script>
<body>
  <form name="MyWindow">
  <p><input type="button" value="按钮" name="button" onclick="return show()" /></p>
  </form>
</body>
</html>
with语句
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>with语句</title>
</head>

<body>
<hr />
<form name="MyForm">
<input type="text" name="Tname" /><br />
<textarea rows="2" cols="20" name="describe">
</textarea><br />
<input type="button" name="btn" onclick="return PutValue()" />
</form>
</body>
</html>


<script language="javascript">
function PutValue(){
    with(document.MyForm){
        Tname.value="with按钮";
        describe.value="with的作用";
        btn.value="我是按钮";
    }
    
}

</script>

 

 

Javascript函数:

定义函数:function语句。

三种方法:function语句定义函数,function语句在表达式中定义函数,Function构造函数在表达式中定义函数(Function构造定义的函数每次调用都会重新编译)。

调用函数:

 

1
<html>
    <head>
        <title>直接调用无返回值的函数</title>
        <script language="javascript" type="text/javascript">
            <!--
                function myWrite(str)
                {
                    document.write(str+"<br>");
                }
                myWrite("这是一个测试程序");
                myWrite("测试结果是输出一行文字");
            -->
        </script>
    </head>
    <body>
    </body>
</html>
2
<html>
    <head>
        <title>直接调用无返回值的函数</title>
        <script language="javascript" type="text/javascript">
            <!--
                function myLink(str)
                {
                    alert("该超链接的地址为:" + str);
                }
            -->
        </script>
    </head>
    <body>
        <a href="http://www.aspxfans.com" target="_blank" onMouseOver="myLink(this.href)">这是一个超链接</a>
    </body>
</html>
3
<html>
    <head>
        <title>将函数的返回值赋给变量</title>
        <script language="javascript" type="text/javascript">
            <!--
                function mySum(x,y)
                {
                    var z = x + y;
                    return z;
                }
                
                var a = 1;
                var b = 2;
                var c = mySum(a,b);
                document.write("a + b = " + c);
            -->
        </script>
    </head>
    <body>
    </body>
</html>

函数参数:函数参数个数多余或不足均会被视为undefined类型,Javascript不会去判断传递来的函数参数的个数和类型,如果严格要求则需自行判断(tepeof,argument.length)。

1
<html>
    <head>
        <title>函数参数的使用</title>
        <script language="javascript" type="text/javascript">
            <!--                
                function myFun(x,y)
                {
                    if (typeof(x) == "number" && typeof(y) == "number")
                    {
                        var z = x * y;
                        return z;
                    }
                    else
                    {
                        return "传递的参数不正确,请使用数字型的参数";
                    }
                }
                document.write(myFun(2,4) + "<br>");
                document.write(myFun(2,"s"));
            -->
        </script>
    </head>
    <body>
    </body>
</html>
2
<html>
    <head>
        <title>获取实际传递参数的个数</title>
        <script language="javascript" type="text/javascript">
            <!--                
                function myFun(x,y)
                {
                    if (arguments.length != 2)
                    {
                        return "传递的参数个数有误,一共传递了" + arguments.length + "个参数";
                    }
                    else
                    {
                        var z = x * y;
                        return z;
                    }
                }
                document.write(myFun(2,4,8) + "<br>");
                document.write(myFun(2) + "<br>");
                document.write(myFun(2,4) + "<br>");
            -->
        </script>
    </head>
    <body>
    </body>
</html>

函数的属性和方法:

.length,.caller,call(),apply(),escape(),unescape(),eval(),isNaN(),parseInt(),parseFloat()。

 

 

 

 

Javascript对象:

创建对象:

1."var myObject = new Object() "

2."var pen={name:"钢笔",  color:"红色",  price:30  }"

2
<html>
    <head>
        <title>直接创建自定义对象</title>
        <script language="javascript" type="text/javascript">
            <!--                
                var pen = {
                    name:"钢笔",
                    color:"红色",
                    price:30
                    }
                
                document.write("笔的名称为:" + pen.name +"<br>");
                document.write("笔的颜色为:" + pen.color +"<br>");
                document.write("笔的价格为:" + pen.price +"<br>");
            -->
        </script>
    </head>
    <body>
    </body>
</html>
2.2
<html>
    <head>
        <title>属性的枚举</title>
        <script language="javascript" type="text/javascript">
            <!--                
                //创建一个空对象
                var pen = new Object();
                
                //设置对象的属性
                pen.name = "铅笔";
                pen.color = "红色";
                pen.price = 20;
                
                for (var i in pen)
                {
                    document.write("变量名为:" + i + ",变量值为:" + pen[i] +"<br>");
                }
            -->
        </script>
    </head>
    <body>
    </body>
</html>

3.function函数

3
<html>
    <head>
        <title>使用自定义构造函数创建对象</title>
        <script language="javascript" type="text/javascript">
            <!--                
                //自定义构造函数
                function pen(name,color,price)
                {
                    //对象的name属性
                    this.name = name;
                  //对象的color属性
                  this.color = color;
                  //对象的price属性
                  this.price = price;
                }

                //定义一个对象
                var pen1 = new pen("铅笔","红色",20);
                document.write("笔1的名称为:" + pen1.name +"<br>");
                document.write("笔1的颜色为:" + pen1.color +"<br>");
                document.write("笔1的价格为:" + pen1.price +"<br><br>");
                
                //定义一个对象
                var pen2 = new pen("钢笔","蓝色",30);
                document.write("笔2的名称为:" + pen2.name +"<br>");
                document.write("笔2的颜色为:" + pen2.color +"<br>");
                document.write("笔2的价格为:" + pen2.price +"<br><br>");
            -->
        </script>
    </head>
    <body>
    </body>
</html>

 

如果构造函数没有参数,则其括号是可以省略的。

对象含义许多方法,JavaScript不存在独立的函数,每个函数都是某个对象的方法。

JavaScript内置语言对象:Array,Date,Function,Global,Math,Number,Object,RegExp,String等。

Date对象的使用
<html>
<head>
<script language=javaScript>
<!--
function clockon() {
thistime= new Date()
var hours=thistime.getHours()
var minutes=thistime.getMinutes()
var seconds=thistime.getSeconds()
if (eval(hours) <10) {hours="0"+hours}
if (eval(minutes) < 10) {minutes="0"+minutes}
if (seconds < 10) {seconds="0"+seconds}
thistime =hours+":"+minutes+":"+seconds
mainbody.innerHTML=thistime
var timer=setTimeout("clockon()",1000)
}
-->
</script>
</head>
<body onLoad="clockon()">
<div id="mainbody" style="position:relative; visibility:visible"></div>
</body>
</html>
Array对象的使用
<HTML>
<HEAD><TITLE>CHAP09</TITLE></HEAD>
<BODY>
<SCRIPT LANGUAGE="JAVASCRIPT">

Student=new Array(6)

Student[0]="suary"
Student[1]="sansan"
Student[2]="bill"
Student[3]="gayz"
Student[4]="sues"
Student[5]="jay"

document.write(Student[0]+"<br>")
document.write(Student[1]+"<br>")
document.write(Student[2]+"<br>")
document.write(Student[3]+"<br>")
document.write(Student[4]+"<br>")
document.write(Student[5])

</SCRIPT>
</BODY>
</HTML>
Math对象的使用
<script language="javascript">
var iMax=Math.max(1,2,3,6);

var iMin=Math.min(1,2,3,6);

var oNum1=Math.abs(-1);

var oNum2=Math.abs(1);

ceilNum=Math.ceil(25.5);
floorNum=Math.floor (25.5);
roundNum=Math.round (25.5);
var iNum=Math.floor(Math.random()*9+1);
alert("iMax="+iMax+";"+"iMin="+iMin+";"+"oNum1="+oNum1+";"+"oNum2="+oNum2+";"+"ceilNum="+ceilNum+";"+"floorNum="+floorNum+";"+"roundNum="+roundNum+";"+"iNum="+iNum)
</script>

 

JavaScript客户端对象:Window,Frame,Document,Location,Layer,Link,Image,Area,Anchor,Applet,Plugin,Form,Text,Textarea,FileUpload,Password,Hidden,Submit,  Reset,Radio,Checkbox,Button,Select,Option等。

Window对象:

Window_open_close
<html>
<head>
<title>open and close window</title>
<script language="javascript">
var newWindow
function creatNew()
{
newWindow=window.open("","")
}
function closeNew()
{
newWindow.close()
}
</script>
</head>
<body>
<form>
<input type="button" value="open new window" onClick="creatNew()">
<input type="button" value="close new window" onClick="closeNew()">
</form>
</body>
</html>
Window_close
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<TITLE>closed的使用</TITLE>
</head>
<BODY onClick="self.close()">
<CENTER>
<FONT COLOR="blue"  SIZE="5">window对象</FONT><BR>
closed属性<BR>
</CENTER>
</BODY>
</html>
Window_status状态栏
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>status的范例</title>
</head>
<Body>
<A HREF="http://www.javascript.com/" onMouseOver="window.status='最棒的学习网站';return true;" onMouseOut="window.status='谢谢!'">JavaScript学习!</A>
</Body>
</html>
Window_opener窗口联系
//opener.htm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>opener</title>
<Script language="javascript">
    queryWin = open('link.htm','','height=100,')
</Script>
</head>
<body></body>
</html>



//link.htm
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>1.htm</title>
<Script>
function passToOpener(color) {
    opener.document.bgColor = color;
    self.close();
}
</Script>
<CENTER>
    请选择你喜欢的颜色?<BR>
    <input type=button onClick="passToOpener('#CCFFFF')" value="浅蓝色">
    <input type=button onClick="passToOpener('#bbbbbb')" value=浅灰色">
</CENTER>
</head>
<body>
</body>
</html>
Window_alert单按钮对话框
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body>
<form>
<input type="button" value="Click here" onClick="alert('thanks for visiting our site')">
</form>
</body>
</html>
Window_confirm双按钮对话框
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>confirm</title>
</head>
<body>
    <form>
        <input type="button" value="confirm" onClick="confirm('do you want to submit the data')">
    </form>
</body>
</html>
Window_prompt输入对话框
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>prompt方法</title>
<script language="javascript">
function newPrompt(){
var answer=prompt('please enter your name');
if (answer){
alert("hello,"+answer+".");
}
}
</script>
</head>
<body>
<form>
<input type="button" value="click" onClick="newPrompt()">
</form>
</body>
</html>
Window_moveTo跳转窗口位置
<html>
<head><title>moveTo()方法</title>
<script laguage="javascript">
<!--
function movewin(form)
{
var winx=form.X.value;
var winy=form.Y.value;
window.moveTo(winx,winy);
}
//-->
</script>
</head>
<body  text="#000000">
<form name=form1>
<table border=0 align=center width="500">
<tr> 
<td colspan=3 align=center bgcolor=white><font color=blue size=6>输入窗口位置</font></td>
</tr>
<tr> 
<td width="233"> 
<font size="3">X坐标为</font>:<input type=text name="X" style="lightblue;color:blue">
</td>
</tr>
<td width="233"> 
<font size="3">Y坐标为</font>:<input type=text name="Y" style="lightblue;color:blue">
</td>
<td width="133"> 
<input type=button value="改变窗口位置" onclick=movewin(this.form) style="background-color:lightgreen;color:blue">
</td>
</tr>
</table>
</form>
</body>
</html>

Document对象:

Document.write()的使用
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Document.writeln()方法</title>
<script language="javascript">
function createsummary()
{
win2=open("","window2")
win2.document.open("text/plain")
win2.document.writeln("tiltle:"+document.title)
win2.document.writeln("links:"+document.length)
win2.document.writeln("anchors:"+document.anchors.length)
win2.document.writeln("forms:"+document.anchors.length)
win2.document.writeln("images:"+document.images.length)
win2.document.writeln("applets:"+document.applets.length)
win2.document.writeln("embed:"+document.embeds.length)
win2.document.close()  //注意一定要用close()关闭输出流才能显示输出内容
}
</script>
<script language="javascript">
//document.close()
</script>
</head>
<body>
<a name="#top"></a>
<form >
<input type="button" name="help" value="help" onClick="createsummary()">
</form>
</body>
</html>

 

 

JavaScript事件驱动与事件处理:

Javascript对象模型:

1。Javascript语言核心部分

2。与数据类型相关的核心对象

3。与浏览器相关的对象:Window对象(BOM),Navigator对象,Location对象等。

4。与文档相关的对象:Document对象,Form对象,Image对象等。

 

当文档或文档中的元素发生了某些动作时,浏览器会产生一个事件(Event),浏览器可以事先通过Javascript定义一个事件的处理程序,当该事件被触发浏览器则自动调用该处理程序响应处理事件。这种通过事件来调用程序的方式称为事件驱动。事件驱动是Javascript中事件处理的一种方法,通过事件驱动可以调用Javascript中的函数或方法。

在Javascript中可以响应的事件有很多,如:浏览加载文档完毕触发onload,单击一个按钮触发onclick,双击鼠标响应ondblclick,在键盘上按下某个键响应onkeypress,鼠标滑过响应onmouseover等。

事件函数的调用:

1
<html>
    <head>
        <title>事件处理</title>
        <script language="javascript" type="text/javascript">
            <!--
                function btClick()
                {
                    alert("您单击了按钮");
                }
            -->
        </script>
    </head>
    <body>
        <form>
            <input type="button" name="myButton" value="按钮" onClick="btClick()">
        </form>
    </body>
</html>
2
<html>
    <head>
        <title>事件处理</title>
    </head>
    <body>
        <form>
            <input type="button" name="myButton" value="按钮" onClick="alert('您单击了按钮')">
        </form>
    </body>
</html>
3
<html>
    <head>
        <title>事件处理</title>
    </head>
    <body>
        <form name="myForm">
            <input type="button" name="myButton" value="按钮">
        </form>
        <script language="javascript" type="text/javascript">
            <!--
                function btClick()
                {
                    alert("您单击了按钮");
                }
                document.forms[0].elements[0].onclick = btClick;
            -->
        </script>
    </body>
</html>

语句document.forms[0].elements[0].onclick = btClick;该语句相当于在Javascript代码中为input元素的属性(onclick)赋值。其中的forms[0]表示文档中的第一个表单,elements[0]表示表单中的第一个元素(input元素)。注意此处的属性onclick只需要输入函数名,而不要后面的括号(括号是函数调用运算符,如果加了括号则只成了调用函数里面的代码,而没有调用函数),同时注意该函数名不能加上引号(加上引号则成了赋值字符串了)。

4
<html>
    <head>
        <title>事件处理</title>
    </head>
    <body>
        <form name="myForm">
            <input type="button" value="提交" onClick="btClick()">
        </form>
        <script language="javascript" type="text/javascript">
            <!--
                function btClick()
                {
                    alert("您单击了按钮");
                }
                btClick();
            -->
        </script>
    </body>
</html>
5.返回值
<html>
    <head>
        <title>事件处理程序的返回值</title>
        <script language="javascript" type="text/javascript">
            <!--
                function formSubmit()
                {
                    //查看表单中的元素个数
                    var formLength = document.forms[0].elements.length;
                    //通过循环判断是否所有文本框中都输入了文字
                    //由于最后一个元素是按钮,所以变量i为小于formLength-1
                    for(var i=0;i<formLength-1;i++)
                    {
                        //如果有一个文本框中没有输入文字,就返回false
                        if (document.forms[0].elements[i].value.length==0)
                        {
                            alert("第" + (i+1) + "个文本框没有输入内容");
                            return false;
                        }
                    }
                }
            -->
        </script>
    </head>
    <body>
        <form name="myForm" action="submit.htm" onSubmit="return formSubmit()">
            姓名:<input type="text" name="myName"><br>
            密码:<input type="password" name="myPassword"><br>
            <input type="submit">
        </form>
    </body>
</html>

onClick,onChange,onSelect,onFocus.onBlur,onLoad,onUnload,onSubmit,onMouseOver等。 

 

常用事件:

HTML中的事件。

鼠标移动事件
<html>
    <head>
        <title>鼠标移动事件</title>
        <script language="javascript" type="text/javascript">
            <!--
                function mousemove()
                {
                    //在screenx文本框中显示鼠标的X轴坐标
                    document.myForm.screenx.value = event.screenX;
                    //在screeny文本框中显示鼠标的Y轴坐标
                    document.myForm.screeny.value = event.screenY;
                }
            -->
        </script>
    </head>
    <body>
        <form name="myForm">
            <img src="img/flower.jpg" onmousemove="mousemove()"><br>
            坐标:<input type="text" name="screenx" size="5"><input type="text" name="screeny" size="5"><br>
            <input type="text" name="myText1" value="鼠标经过时产生事件" onmouseover="alert('鼠标经过')">
            <input type="text" name="myText2" value="鼠标离开时产生事件" onmouseout="alert('鼠标离开')"><br>
        </form>
    </body>
</html>
鼠标单击事件
<html>
    <head>
        <title>鼠标点击事件</title>
    </head>
    <body>
        <img src="img/flower.jpg" name="myImg1" onclick="alert('单击鼠标')"><br>
        <img src="img/flower1.jpg" name="myImg2" ondblclick="alert('双击鼠标')"><br>
        <input type="text" name="myText1" value="按下鼠标键时产生事件" onmousedown="alert('按下鼠标键')">
        <input type="text" name="myText2" value="释放鼠标键时产生事件" onmouseup="alert('释放鼠标键')">
    </body>
</html>
加载事件
<html>
    <head>
        <title>加载与卸载事件</title>
        <script language="javascript" type="text/javascript">
            <!--
                function changeImg()
                {
                    //改变图片
                    document.myForm.myImg.src = "img/flower1.jpg";
                }
            -->
        </script>

    </head>
    <body onload="alert('加载网页')" onunload="alert('卸载网页')">
        <form name="myForm">
            <a href="sample12.htm">关闭窗口或跳转到其他网页都会产生unload事件</a>
            <img src="img/flower.jpg" name="myImg" onload="alert('加载图片')"><br>
            <input type="button" onclick="changeImg()" value="替换图片">
        </form>
    </body>
</html>
焦点事件
<html>
    <head>
        <title>得到焦点与失去焦点事件</title>
    </head>
    <body>
        <input type="text" name="myText1" onfocus="alert('第1个文本框得到焦点')" onblur="alert('第1个文本框失去焦点')"><br>
        <input type="text" name="myText2"><br>
        <input type="button" value="按钮">
    </body>
</html>
键盘事件
<html>
    <head>
        <title>键盘事件</title>
    </head>
    <body>
        <input type="text" name="myText1" onkeypress="alert('keypress事件')"><br>
        <input type="text" name="myText2" onkeydown="alert('keydown事件')"><br>
        <input type="text" name="myText3" onkeyup="alert('keyup事件')"><br>
    </body>
</html>
提交重置事件
<html>
    <head>
        <title>提交与重置事件</title>
        <script language="javascript" type="text/javascript">
            <!--
                function submitCheckForm()
                {
                    if (myform.myName.value=="刘智勇")
                    {
                        alert("姓名没有修改,不能提交表单");
                        return false;
                    }
                }
                function resetCheckForm()
                {
                    if (myform.myName.value!="刘智勇")
                    {
                        alert("姓名已经修改,不能重置表单");
                        return false;
                    }
                }
            -->
        </script>
    </head>
    <body>
        <form name="myform" onsubmit="return submitCheckForm()" onreset="return resetCheckForm()" action="submit.htm">
            姓名:<input type="text" name="myName" value="刘智勇"><br>
            性别:
            <input type="radio" name="mySex" value="男"><input type="radio" name="mySex" value="女"><br>
            城市:
            <select name="city">
              <option value="北京">北京</option>
              <option value="上海">上海</option>
              <option value="广州">广州</option>
            </select><br>
            <input type="submit" value="提交">
            <input type="reset" value="重置">
        </form>
    </body>
</html>
选择修改事件
<html>
    <head>
        <title>选择与改变事件</title>
    </head>
    <body>
        <form name="myform">
            <textarea name="content" rows="10" cols="30" onselect="alert('您选择了文本')" onchange="alert('您修改了文字')">表单是由表单元素组成的一个集合。在一个网页中,可以允许有多个表单出现。</textarea><br>
            <select name="city" onchange="alert('您修改了选项')">
              <option value="北京">北京</option>
              <option value="上海">上海</option>
              <option value="广州">广州</option>
            </select>
        </form>
    </body>
</html>

 

posted @ 2012-08-14 18:17  汤姆是一只猫  阅读(296)  评论(0)    收藏  举报