使用Prototype的一点心得体会(五)

本文介绍如何使用Prototype.js库实现创建自定义类、处理哈希对象、操作DOM元素及设置表单观察器等功能。
1. 使用Class对象
<html>
<head>
<script src="prototype-1.6.0.2.js" type="text/javascript"></script>
<script>
    
var Person = Class.create();
    Person.prototype 
=
    
{
        initialize: 
function(name)
        
{
            
this.name = name;
        }
,
        showMessage: 
function()
        
{
            alert(
this.name);
        }

    }

    
var p = new Person('yeeku');
    p.showMessage(); 
</script>
</head>
</html>

2.使用Hash对象

<html>
<head>
<script src="prototype-1.6.0.2.js" type="text/javascript"></script>
<script>
    
var person = 
    
{
        name:
'yeeku',
        age:
29
    }
;

    
var h = $H(person);
    alert(h.toQueryString());
</script>
</head>
</html>

以及如下的示例

<html>
<head>
<script src="prototype-1.6.0.2.js" type="text/javascript"></script>
<script>
    
var person = 
    
{
        name:
'yeeku',
        age:
29
    }
;
    
var teacher = 
    
{
        name:
'yeeku.H.lee',
        gender:
'male'
    }
;
    
var h = $H(person).merge($H(teacher));
    alert(h.toQueryString());
</script>
</head>
</html>

3. 用于操作HTML的元素类 Insertion

<html>
<head>
<script src="prototype-1.6.0.2.js" type="text/javascript"></script>
</HEAD>
<BODY>
<div id="test" style="border-color:black;border-style:solid;width:200px;">
    
<div>CCCCC</div>
    
<div>DDDDD</div>    
</div>
<input type="button" value="Insertion.After" onClick="new Insertion.After('test' , '<b>FFFFF</b><br>');"><br>
<input type="button" value="Insertion.Before" onClick="new Insertion.Before('test' , '<b>AAAAA</b><br>');"><br>
<input type="button" value="Insertion.Top" onClick="new Insertion.Top('test' , '<b>BBBBB</b><br>');"><br>
<input type="button" value="Insertion.Bottom" onClick="new Insertion.Bottom('test' , '<b>EEEEE</b><br>');"><br>
</BODY>
</HTML>

4. 常用的监听器

<html>
<head>
<script src="prototype-1.6.0.2.js" type="text/javascript"></script>
</HEAD>
<BODY>
<FORM id="test" METHOD=POST ACTION="#">
    
<input type="text" id="user" name="user"/>
    
<input type="text" id="pass" name="pass"/>
    
<input type="button" value="test"/>
</FORM>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
    
new Form.Observer("test"1function()
    
{
        alert(
this.getValue());
    }
);
</SCRIPT>

说明:Form.Observer(form, interval, callback) : 当表单内表单域值发生变化时,将于interval(秒)后自动触发callback函数。

或者直接可以监听某一个表单元素。

<html>
<head>
<script src="prototype-1.6.0.2.js" type="text/javascript"></script>
</HEAD>
<BODY>
<input type="text" id="user" name="user"/>
<input type="button" value="test"/>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
    
new Form.Element.Observer("user"1function()
    
{
        alert(
this.getValue());
    }
);
</SCRIPT>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值