各路javascript高手请进,javascript对象问题?

来源:百度知道 编辑:UC知道 时间:2024/09/24 09:21:38
各路javascript高手请进,javascript对象问题?

看了几本书,都是避重就轻,气死,都成孔一己了,晕!

支持onclick的HTML标签有<button>,<a>,<input>,<address>, <area>, <b>, <bdo>, <big>, 等...

支持onclick的Javascript对象有(button, document, checkbox, link, radio, reset, submit)

上面的这些javascript对象,是DOM的子对象,请问这些子对象是怎么支持onclick事件的?

第一个问题:

有的人说这样支持的:<input type="button" value="确定" onclick="alert(this.value)">

这input是html元素,type是input的元素,怎么会说是button是javascript的对象呢?

第二个问题:

<a href="http://www.163.com onclick="(this.href)">
<button onclick="alert(this)">按钮</button>

上面这两句,<a>和<button>都是HTML标记,我问百度的人,他们说link和button就是支持onclick事件的javascript对象

不解的是<a>和<button>都是HTML标记,怎么会是javascript的(link和button)对象呢?

是什么该死的书本,看来给你造成的困惑很大!类似的问题都是你问的吧!

不要把javascript和HTML DOM混淆了,
javascript是基于HTML DOM运行的,说个例子吧(如果例子不明白,请看后面的比喻):

如果HTML DOM中有一个button对象,然后javascript只是引用HTML DOM的Button对象,在这个Button对象的基础上进行操作:更改属性、添加属性、更改value值或者CSS样式。当HTML DOM中没有Button对象而你仍然试图对“它”操作时javascript会提示错误,也就是javascript找不到那个对象!

比喻:

把你比作“javascript”,而HTML DOM则是一个书架里面的书(不止一本),你(javascript)要去书架(DOM集合)上找到书(其中一个DOM)之后才能看书或者拿支笔更改书上的文字。总不能书都没有就看书或者涂改吧。

本质上只有两个问题,一就是你把DOM和JavaScript弄混了。
你说的对象都是DOM对象,是在JavaScript使用的,但不是JavaScript特有的,比如用VBScript一样的。
二就是HTML标签和DOM对象弄混了。
DOM对象是指HTML文档形成的对象结构,它基本上和标签保持相同,但也有不同。比如A就是link这么没什么问题的。
再比如:input标签里可以是text\radiobutton\checkbox等,这些在DOM里面都可以认为是单独的对象类型的。

至于onclick,目前基本上所有的对象都支持onclick等基本事件处理,因为事件处理模式是气泡式,所以一个事件会在对象链上一直上行,直到被cancel。

没法再说的明白了,能理解么?看看DHTML手册就好了