zwq 2011-11-20
1. Js中的事件句柄
在Js中,事件句柄的名称是以“on”开头的,如onload, onclick这类。事件句柄可以当做HTML标签的属性来使用:
<!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=gb2312" /> <title>Tests</title> <script language="javascript" type="text/javascript"> function test(){ var str = "hello"; alert(str); } </script> </head> <body onload = "test();"> <h1>test</h1> </body> </html>
这样做就是把load事件和test()函数关联起来。我们把这种写法叫做inline model(内联模式).
<!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=gb2312" /> <title>Tests</title> </head> <body onload = "var str = 'hello2';alert(str);"> <h1>test</h1> </body> </html>
你要写成上面不用函数的形式也是可以的,但是最好使用函数,这样看起来代码清爽点。
另外,还有一种方法,用于访问事件句柄,又称传统模式:
<!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=gb2312" /> <title>Tests</title> <script language="javascript" type="text/javascript"> function test(){ var str = "hello"; alert(str); } window.onload = test; </script> </head> <body> <h1>test</h1> </body> </html>