Javascript 能否在同一个onBlur事件上创建多个函数?

Javascript 能否在同一个onBlur事件上创建多个函数?,javascript,mootools,mootools-events,Javascript,Mootools,Mootools Events,我有一个很好的默认值检查,客户端希望向onBlur事件添加额外的功能。默认值检查是全局的,可以正常工作。新功能要求将一些特定于字段的值传递给新功能。如果不是因为这个,我会把它钉在默认检查上,然后就完成了 我的问题是,我能做这样的事情,让他们都开火吗?有什么更好的办法 默认检查 $(document.body).getElements('input[type=text],textarea,tel,email').addEvents ({ 'focus' : function(){

我有一个很好的默认值检查,客户端希望向
onBlur
事件添加额外的功能。默认值检查是全局的,可以正常工作。新功能要求将一些特定于字段的值传递给新功能。如果不是因为这个,我会把它钉在默认检查上,然后就完成了

我的问题是,我能做这样的事情,让他们都开火吗?有什么更好的办法

默认检查

$(document.body).getElements('input[type=text],textarea,tel,email').addEvents ({
    'focus' : function(){
        if (this.get('value') == this.defaultValue)
        {
            this.set('value', '');
        }
    },
    'blur' : function(){
        if (this.get('value') == '')
        {
            this.set('value', (this.defaultValue));
        }
    }
});
新增功能

其思想是像往常一样处理默认值,但在输入字段值时启动新函数。在我看来,一个人必须先开火,但怎么开枪呢

同样,由于值传递的是特定于字段的值,因此我不能将其转储到全局
default check
函数中


我希望这是有意义的。

我想你在使用Mootools?我不太了解语法,但我创建了一个JSFIDLE,它似乎可以与Mootools一起使用,而不是其他库

这是我用来测试它的小提琴:


答案似乎是肯定的,当然是Chrome,但我相信每个浏览器。

只需将自定义变量存储在。技术上不符合标准[在HTML 4中],但它可以:

<input type='text' id='field_01' value='default data' data-customvar="variableForThisField">

$(document.body).getElements('input[type=text],textarea,tel,email').addEvents ({
    'focus' : function(){
        if (this.get('value') == this.defaultValue)
        {
            this.set('value', '');
        }
    },
    'blur' : function(){
        if (this.get('value') == '')
        {
            this.set('value', (this.defaultValue));
        } else {
            driveData(this.get('value'), this.get('data-customvar'));
        }
    }
});

$(document.body).getElements('input[type=text],textarea,tel,email')。addEvents({
“焦点”:函数(){
if(this.get('value')==this.defaultValue)
{
此.set('值','');
}
},
“模糊”:函数(){
if(this.get('value')='')
{
this.set('value',(this.defaultValue));
}否则{
driveData(this.get('value')、this.get('data-customvar');
}
}
});

fiddle:

听起来好像你真的需要
占位符=
HTML5函数,为非HTML5浏览器提供后备功能。它将允许您按照通常的方式处理默认值和自定义验证器。看看我编写的插件:以及提供的JSFIDLE。mootools forge上还有很多类似的插件。@Dimitar:无法加载您的链接:(但我会研究一下以备将来参考。)非常感谢德沃尔!当然是叮叮当当!我喜欢正确的答案在你看到它的时候点击谢谢灵长类学。现在看起来很明显。。。哦!没问题,@WhiteRau!很乐意帮忙!:)