概述
这是我的消息对象。我只希望每个元素允许一个对象。评论中提到的元素。
正如用户所见,每个元素应该只有一条消息。例如,如果用户继续单击按钮,我不想重新实例化更多消息。只需要一个。
我本可以做的一件事是禁用按钮,直到消息显示完毕……但这不是我想要的方式。
Effects.fade() 函数在大约 4 秒后淡出消息。
问题?
如何修改它,使其每个元素只允许一个自身实例?
物体
/**
* Message
*/
var Message = function( element )
{
// need only single instance per element..so a singleton pattern per element
this.element = element; // This is element where the message is sent
};
Message.prototype.messages =
{
name: 'Please enter a valid name',
email: 'Please enter a valid email',
pass: 'Please enter passoword, 6-40 characters',
url: 'Please enter a valid url',
title: 'Please enter a valid title',
tweet: 'Please enter a valid tweet',
empty: 'Please complete all fields',
same: 'Please make emails equal',
taken: 'Sorry, that email is taken',
validate: 'Please contact <a class="d" href="mailto:me@host.com">support</a> to reset your password',
};
Message.prototype.display = function( type )
{
Control.send( this.element, this.messages[ type ] );
var EffectsObject = new Effects( this.element );
EffectsObject.fade( 'down', 4000);
};
对象的使用
this.message_object = new Message( this.response_element );
this.message_object.display( 'empty' );