为什么学编程语言要学DOM编程

1,646被浏览184,999分享邀请回答62862 条评论分享收藏感谢收起alloyteam.github.io/JX/doc/specification/google-javascript.xml# 「二转」## 设计### 常用站点及工具 - 一个在线录制前端编码实现过程的网站 - 著名前沿技术实现站点 - 技巧学习 - HTML5 当然不只是是 HTML5 - Canvas 例子 - HTML5 应用教程 - js 框架类库的集合(不是全部)Google /
- 零散获取(所以要善用 笔记软件 OneNote 等) - 浏览器兼容性列表 - 展示 - 非常重要的玩具,没事做点 Demo,写写博客 - 现在可托管静态页面了### 怎么做不断的写 ……## 算法推荐两本书:* * ## 数据逻辑和后端的同学多交流吧。以上,无需按照顺序学习,按需折腾,不要停下来就好,力求极致。2084 条评论分享收藏感谢收起博客分类:
var beat=Array(4);
beat[0]="John";
beat[1]="Paul";
beat[2]="Lucy";
beat[3]="LiHua";
var beat=Array("John","Paul","Lucy","LiHua");
var beat=Array(123,456,789,false);
var beat=["John","Paul","Lucy","LiHua"];
var lennon=Array();
lennon["name"]="John";
lennon["year"]=1940;
lennon["living"]=
var beat=Array();
beat[0]["name"]="John";
beat[0]["year"]=1940;
beat[0]["living"]=
var beat=Array();
beat["vocalist"]=
beat["vocalist"]["name"]="John";
beat["vocalist"]["year"]=1940;
beat["vocalist"]["living"]=
关键字去创建一个数组时,其实是在创建一个对象的新实例。对象可以调用方法和
alert(typeof document.getElementById("purchases"));
//typeof 操作符可以告诉我们他的操作数是不是一个字符串、数值、函数、布尔值或对象。
var items=document.getElementsByTagName("li");
for(var i=0;i&items.i++){
alert(typeof items[i]);
Var paras=document.getElementsByTagName(“p”);
For (var i=0;i&paras.i++){
  Var title_text = paras[i].getAttribute(“title”);
  If(title_text)
  Alert(title_text);
Var paras=document.getElementsByTagName(“p”);
For (var i=0;i&paras.i++){
  Var title_text = paras[i].getAttribute(“title”);
  If(title_text){
  paras[i].setAttribute(“title”,”brand new title text”);
  Alert(paras[i].getAttribute(“title”));
返回一个数组,包含给定元素接点的全体子元素
共12种可取值,仅3种具有实用价值:1元素接点 2属性节点 3文本节点
改变某个文本节点的值
浏览: 28881 次
来自: 北京
爱吃肉的菜鸟 写道楼主你最后那个函数里为什么要加1?因为取得是 ...
楼主你最后那个函数里为什么要加1?
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
function moveElement( elementID , final_x , final_y, interval ) {
if ( !document.getElementById )
if ( !document.getElementById(elementID) )
var elem = document.getElementById(elementID);
var xpos = parseInt(elem.style.left);
var ypos = parseInt(elem.style.top);
if (xpos == final_x && ypos == final_y) {
if (xpos & final_x) {
if (xpos & final_x) {
if (ypos & final_y) {
if (ypos & final_y) {
elem.style.left = xpos + "px";
elem.style.top = ypos + "px";
var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
movement = setTimeout(repeat,interval);
其中:var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";的+elementID+前面的加号和+interval+后面的加号的作用是什么呢?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
加号是字符串拼接用的。var repeat = "moveElement('"
")";这样看起来好看一点吧,双引号中间的是字符串,加号把字符串跟变量拼接起来。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这就是在拼接字符串
var a = 1;var b = 2;
var str = 'a is' + a + ' , b is' +
此时 str -& 'a is1 , b is2'
需要注意点的就是 setTimeout 函数调用时,第一个参数是 字符串, 会转成 js 表达式
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
就是把函数上的那些参数放进去,不加 + 号会被当成字符串的
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这段代码中的moveElement是循环非阻塞调用的。
那句话的意思是拼成一个函数调用表达式,然后放进setTimeout里面执行。
但不推荐这么写,可以写成moveElement.bind(null, elementID, final_x, final_y, interval)。
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。4,151被浏览300,112分享邀请回答jump.im/i637629 条评论分享收藏感谢收起book.douban.com/subject/2994925/2. 阅读源码3. 实践、实践、再实践4. 关注行业动态,参与开源社区这几个blog至少要订阅: 56618 条评论分享收藏感谢收起Posts - 137,
Articles - 0,
Comments - 7
23:18 by 叶十一少, ... 阅读,
& &为什么学dom编程?
通过dom编程,我们可以写出各种网页游戏
dom编程也是我们学习ajax技术的基础,所以我们必需掌握好dom编程。
& &dom编程简介
& &DOM=Document&Object&Model(文档对象模型),根据W3C&DOM规范,DOM是HTML与XML的应用编程接口(API),DOM将整个页面映射为一个由层次节点组成的文件。
& &js把浏览器,网页文档和网页文档中的html元素都用相应的内置对象来表示,这些对象与对象间的层次关系称为dom,针对网页(html,jsp,php,aspx,net)的dom就html dom,我们此处讲的就是html dom。
& &关于使用js对xml文件的dom编程,我们这暂时不讲。到讲ajax的时候在给大家讲解。
& &dom分为html&dom与xml&dom。
& &可以借助数据库编程来讲清dom编程分类。
& &DOM原理图:
& &dom编程简介--dom对象
& &前面说过,js把浏览器,网页文档和网页文档中的html元素都用相应的内置对象(看文档)来表示,这些对象与对象间的层次关系称为dom,针对网页(html,jsp,php,aspx,net)的dom就是html&dom。我们这讲的就是html&dom
& &这里有几个特别重要的概念要给大家说清楚:
上面说的内置对象就是dom对象,准确的说是html&dom对象。
因为目前讲的是html&dom编程,所以提到的dom编程,dom对象都是说的html&dom编程和html&dom对象,请大家不要犯迷糊。
dom编程时,会把html文档看做是一颗dom树。
dom编程的核心就是各个dom对象。
& &dom编程简介--html&dom层次图
& &html&dom定义了访问和操作html文档的标准方法。
& &html&dom把html文档呈现为带有元素、属性和文本的树结构(节点树)
& &下面举例说明:
& &有如下html文档:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&input type="button" value="Node测试" onclick="test()" /&&br&
&table border="1px"&
&td&&input type="button" value="向上走" onclick="move(this)" /&&/td&
&td&&input type="button" value="向左走" onclick="move(this)" /&&/td&
&td&&input type="button" value="向右走" onclick="move(this)" /&&/td&
&td&&input type="button" value="向下走" onclick="move(this)" /&&/td&
&!--把乌龟放在div中--&
&div id="wugui" style="position:left:100top:120"&
&img src="1.jpg" border="1px" alt="" /&
&!--鸡放在div中--&
&div id="cock" style="position:left:200top:200"&
&img src="2.jpg" border="1px" alt="" /&
& &则dom树为:
& &bom简介
& &BOM(The&Browser&Object&Model)--浏览器对象模型
& &通过使用BOM,可移动窗口、更改状态栏文本。bom是w3c组织提出的,他建议所有的浏览器都应当遵循这样的设计规范,可以说bom和dom关系密切,相互影响,bom为纲,dom为目,我们可以简单的理解dom就是bom的具体实现。
& &dom简介
dom(document&object&model)文档对象模型,根据w3c&dom规定,dom是html和xml的应用程序编程接口(api),dom将html或xml映射成由层次节点组成的模型,根据规范的严格层度,分为1,2,3级。
dom的核心是提供了一套访问结构化文档的api,核心是对节点各种操作。
& &dom对象简介
& &js把浏览器,网页文档和网页文档中的html元素和相应的内置对象来表示,这些内置对象就是dom对象,编程人员通过访问dom对象,就可以实现对浏览器本身、网页文档、网页文档中元素的操作,从而控制浏览器和网页元素的行为和外观。
& &常用的dom对象一览图
& &这里,只列举了常用的dom对象。从上图可以看出:
& &dom对象本身也有层次,比如document对象是window对象的一个成员属性,而body对象又是document对象的一个成员属性。
& &而在前面说过,dom编程其实就是把网页文档看做是一棵树(html&dom tree)(倒的),然后用相应的dom对象去访问网页文档,从而达到控制浏览器和网页的行为和外观。
& &window对象
& &window对象表示一个浏览器窗口或一个框架。在客户端javascript中,window对象是全局对象,要引用当前窗口根本不需要特殊的语法,可以把那个窗口的属性作为全局变量来用。在使用window对象的方法和属性的时候,可以不带window,比如:window.alert("李阿昀!");,可以直接写成alert("李阿昀!");
& &讲解window对象常用的函数和属性,其它的参考,还有很多可能需要在做项目的时候,才会接触。
显示带有一段信息以及确认按钮和取消按钮的对话框
& &说明:如果用户点击确定按钮,则confirm()返回 true。如果点击取消按钮,则confirm()返回 false。如下例:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test() {
var result = window.confirm("你要删除吗?");
if(result) {
window.alert("删除");
window.alert("放弃删除");
&input type="button" value="删除记录" onclick="test()" /&
setInterval()
按照指定的周期(以毫秒计)来调用函数或计算表达式
clearInterval()
取消由 setInterval()设置的timeout
& &说明:setInterval()方法会不停地调用函数,直到clearInterval()被调用或窗口被关闭。由setInterval()返回的ID值可用作clearInterval()方法的参数。
& &记住:setInterval()函数会先等待再执行(如何让它先执行再等待?这是一个疑问。)
& &案例1:需求每隔5秒钟弹出hello&world!
& &代码如下:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function sayHello() {
window.alert("hello, world!");
setInterval("sayHello()", 5000);
& &案例2:模拟一个时钟。
& &代码如下:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function showTime() {
//在元素间的文本就是通过对象名.innerText设置的
document.getElementById("mytime").innerText = new Date().toLocaleString();
setInterval("showTime()", 1000);
&span id="mytime"&&/span&&br/&
& &案例3:让静态图片动起来!(图片有点多,就不放上来了)
& &代码如下:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
//让静态图片动起来
var n = 1;
function runChild() {
//得到myimg对象
//window.alert(myimg.src);
var myimg = document.getElementById("myimg");
myimg.src = ((n++ % 13)+1)+".jpg";
var myTimer = setInterval("runChild()", 1000);
&img src="1.jpg" id="myimg" /&
& &进一步,扩展要求:小人动10s就停止。
& &代码如下:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
var count = 0;
var n = 1;
//让静态图片动起来
function runChild() {
if(count == 11) {
//停止这个定时器
clearInterval(myTimer);
//得到myimg对象
//window.alert(myimg.src);
var myimg = document.getElementById("myimg");
myimg.src = ((n++ % 13)+1)+".jpg";
var myTimer = setInterval("runChild()", 1000);
&img src="1.jpg" id="myimg" /&
setTimeout()
在指定的毫秒数后调用函数或计算表达式
clearTimeout()&
取消由setTimeout()方法设置的timeout
& &说明:setTimeout()只执行code一次。如果要多次调用,请使用setInterval()或者让code自身再次调用setTimeout()。
& &案例4:延时5秒弹出hello对话框。
& &代码如下:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
//5秒后调用sayHello()
function sayHello() {
window.alert("hello");
setTimeout("sayHello()", 5000);
& &案例5:让静态图片动起来!动10s就停下,接着歇5秒再动,循环往复...
& &代码如下:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
var count = 0;
var n = 1;
//让静态图片动起来
function runChild() {
if(count == 11) {
//停止这个定时器
clearInterval(myTimer);
setTimeout("reRun()", 5000);//歇5秒
count = 0;
//得到myimg对象
//window.alert(myimg.src);
var myimg = document.getElementById("myimg");
myimg.src = ((n++ % 13)+1)+".jpg";
//setInterval函数会先等待再执行(如何让它先执行再等待?)
var myTimer = setInterval("runChild()", 1000);
function reRun() {
myTimer = setInterval("runChild()", 1000);
&img src="1.jpg" id="myimg" /&
& &我觉得setTimeout()和setInterval()并不是那么简单的,上面的这些就是一些初步了解而已,希望自己以后能彻底能搞明白!
把窗口的左上角移动到一个指定的坐标
可相对窗口的当前坐标把它移动指定的像素
& &如下示例:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test() {
window.moveTo(100, 100);// 需在窗口化下才可看到演示
var move = window.confirm("是否再次移动?");
if(move) {
window.moveBy(100, 100);
&input type="button" value="移动" onclick="test()" /&
resizeTo()
把窗口大小调整为指定的宽度和高度
resizeBy()
根据指定的像素来调整窗口的大小
& &如下例:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test() {
resizeBy(300,200);
function test2() {
resizeTo(400,500);
&input type="button" value="按像素调整窗口大小" onclick="test()" /&&br/&
&input type="button" value="指定窗口为宽400高500" onclick="test2()" /&
& &下面再讲一个open()函数的使用,可参考。
& &示例如下:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test() {
window.open("newWindow.html","_blank","channelmode=yes,resizable=no,width=800,height=800,location=no");
&input type="button" value="打开一个新窗口" onclick="test()" /&
opener属性
返回对创建该窗口的 Window 对象的引用
& &opener属性非常有用,创建的窗口可以引用创建它的窗口所定义的属性和函数。
& &例:opener父窗口和子窗口通信。(只在IE9中通过测试)
& &父窗口(window.html):
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test2() {
newWindow = window.open("newWindow.html","_blank","channelmode=yes,resizable=no,width=600,height=500,location=no");
function test3() {
newWindow.document.getElementById("info").value = $("info2").
function $(id) {
return document.getElementById(id);
我是一个窗口
&input type="button" value="打开新窗口" onclick="test2()" /&
&span id="myspan"&消息&/span&&br/&
&input type="text" value="" id="info2" /&&input type="button" value="通知给子窗口" onclick="test3()" /&
& &子窗口(newWindow.html):
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function notify() {
var val = document.getElementById("info").
opener.document.getElementById("myspan").innerText =
我是新窗口
&input type="text" value="" id="info" /&&input type="button" value="通知给父窗口" onclick="notify()" /&
& &在掌握window对象一些常用方法后,我们来看几个案例。
& &一个js版本的用户登录系统,当用户输入admin密码是123456就跳到第二页面,4秒后,自动跳转到第三个页面。
& &login.html:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function checkUser() {
if($("uname").value == "admin" && $("pwd").value == "123456") {
//window.alert("ok");
return true;
//window.alert("no ok");
$("uname").value = "";
$("pwd").value = "";
return false;
function $(id) {
return document.getElementById(id);
&form action="ok.html"&
账号:&input type="text" id="uname" /&&br/&
密码:&input type="password" id="pwd" /&&br/&
&input type="submit" onclick="return checkUser()" value="登录" /&
& &过渡页面(ok.html):
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function changeSec() {
$("myspan").innerText = parseInt($("myspan").innerText) - 1;
var myTimer = setInterval("changeSec()", 1000);
function tiao() {
clearInterval(myTimer);
window.open("manage.html", "_self");
setTimeout("tiao()", 5000); //等价于setTimeout("javascript:window.open('manage.html', '_self')", 5000);
function $(id) {
return document.getElementById(id);
登录成功!&span id="myspan"&5&/span&秒后自动跳转到管理页面
& &manage.html:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
& &status的使用(可以控制状态栏信息),IE9和Chrome均没通过测试:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script language="javascript" type="text/javascript"&
var space_num=0;
var dir=1;
function myScroll(){
var space_my="";
space_num=space_num+1*
if(space_num&50||space_num&0){
dir=dir*-1;
for(var i=0;i&space_i++){
space_my=space_my+" ";
window.status=space_my+"世界你好!";
function startIt(){
setInterval("myScroll()",100);
&body onload="startIt()"&
& &history对象
& &history对象:Contains&information&about&the&URLs&visited&by&the&client,即:该对象包含客户端访问过的URL信息。
& &从dom层次图看,history是window对象的成员属性,但实际history是由js&runtime&engine自动创建的,所以你也可以认为history就是一个js对象。
& &history对象常用的函数和属性可参考。
& &historyA.html:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&a href="historyB.html"&goto historyB&/a&
& &historyB.html:
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function goback() {
window.alert(history.length);
history.back();//等价于history.go(-1);
&!-- 不只是input可以有onclick事件 --&
&a href="#" onclick="goback()"&返回上一级页面&/a&
& &location对象
& &location对象:Contains&information&about&the&current&URL。即:该对象包含客户端当前URL信息。
& &从dom层次图看,location是window对象的成员属性,但实际location也是由js&runtime&engine自动创建的,所以你也可以认为location就是一个js对象。
& &location属性和方法可参考。
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test() {
location.reload();//等同刷新页面
//window.alert(location.href+" || "+location.hostname+" || "+location.port);
&input type="button" value="刷新页面" onclick="test()" /&
& &navigator对象
& &navigator对象:Contains&information&about&the&browser,即:该对象包含当前浏览器的各信息。
& &从dom层次图看,navigator是window对象的成员属性,但实际navigator也是由js&runtime&engine自动创建的,所以你也可以认为navigator就是一个js对象。
& &navigator对象常用的函数和属性可参考。
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
document.write("&p&Name: ");
document.write(navigator.appName + "&/p&"+navigator.platform+" "+navigator.systemLanguage);
& &screen对象
& &screen对象:Contains&information&about&the&client's&screen&and&rendering&capabilities,即:该对象包含有关客户机显示屏幕的信息。
& &从dom层次图看,screen是window对象的成员属性,但实际screen也是由js&runtime&engine自动创建的,所以你也可以认为screen就是一个js对象。
& &screen对象常用的属性可参考。
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
document.write(screen.width+" "+screen.height+" "+screen.availHeight);
& &event对象
& &event对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态,事件通常与函数结合使用。
& &从dom对象层次图看,event对象是window对象的属性,其实在其它的dom对象中都存在event事件(一种event对象就代表一类事件),理解这一点非常重要!
& &事件驱动编程
& &所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(用什么函数)。当然事件不仅限于用户的操作,当对象处于某种状态时,可以获得消息通知,然后对这个消息感兴趣的程序就可以执行。
& &事件驱动编程的几个核心对象
& &事件源:谁发出事件通知,发出消息就是事件主体。
& &事件名称:发出什么样的通知的名称,比如鼠标到我头上了,我被别人点了一下。
& &事件响应函数:谁对这个事件感兴趣,当这个事件发生时要执行什么样的操作。
& &事件对象:一般来说,当事件发生时,会产生一个描述该事件的具体对象,包括具体的参数一起发给响应函数,好让他们通过事件对象来了解事件更加详细的信息。
& &特别注意:前面已详细讲解了event事件,这里就不在详细阐述了。
& &如何绑定事件监听
直接在某个html控件上指定
getElementById("xxx")获取控件后,再绑定
通过addEventListener()或者是attachEvent()来绑定
一个事件可以有多个事件监听者(函数)
& &W3C&DOM标准:
[Object].addEventListener("name_of_event",fnHandler,bCapture);
[Object].removeEventListener("name_of_event",fnHandler,bCapture);
& &IE中独有的事件监听方法:
[Object].attachEvent("name_of_event_handler",fnHandler);
[Object].detachEvent("name_of_event_handler",fnHandler);
& &①通过getElementById("")获取控件后绑定事件
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test() {
alert("hello");
&input id="but" type="button" value="测试" /&
&script type="text/javascript"&
document.getElementById("but").onclick = test;
& &此绑定比较类似于:
function Person() {
var p = new Person();
p.fun1 = function() {
& &②在IE下通过attachEvent绑定和detachEvent解除绑定
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test() {
window.alert("你投了一次票");
//解除事件绑定
document.getElementById("but").detachEvent("onclick", test);
&input id="but" type="button" value="投票" /&
&script type="text/javascript"&
document.getElementById("but").attachEvent("onclick", test);
& &如何获取事件对象
& &dom会将事件对象通过参数传递给响应函数(事件监听函数),而ie则可以直接通过window.event来获取事件对象。
& &非IE浏览器
& &DOM中获取事件对象:DOM中要求event是传给事件响应函数的第一个参数。
oDiv.onclick=function(){
var oEvent=arguments[0];
//oEvent即为事件对象
oDiv.onclick=function(oEvent){
//参数oEvent即为事件对象
& &IE浏览器
& &IE中的Event对象-window.event
oDiv.onclick=function(){
var oEvent=window.
//oEvent就是事件对象
& &这里特别强调一点,并不是所有的html元素都有相同的event事件(对象),这个请大家在做项目的时候特别注意,比如提交按钮有onsubmit事件,但是输入框就没有的,具体参考js帮助文档。
& &案例:要求用户在一个输入框中输入一个数,如果不是数字,则给出提示。
&!DOCTYPE html&
&meta charset="UTF-8"&
&title&Document&/title&
&script type="text/javascript"&
function test(e) {
//用户每按下一个键,就去判断是不是一个数
if(e.keyCode & 48 || e.keyCode & 57) {
window.alert("您输入的不是数");
//window.event.returnValue =
return false;
&input type="text" onkeypress="return test(event)" id="text1" /&

我要回帖

更多关于 游戏编程要学什么 的文章

 

随机推荐