0

我有这个:

signin_input.onkeypress = function()
{
    label.style.opacity = 0;
}

但有时我想运行额外的代码,所以我用这个覆盖它:

signin_input.onkeypress = function( event ) 
{
    signin_label.style.opacity = 0; // just add in previous function here
    if( event.keyCode === 13 )
    {
        new ControlType( 'signin' ).invoke();
        return false; 
    }
}

并将旧函数中的一行包含在新函数中。

但是,这有点低效,因为我写了两次 onkeypress。

有没有办法让两者都运行。是否有某种内部 JavaScript 构造允许这样做。

4

2 回答 2

2

开始阅读 DOM 事件...设置元素的属性是古老的方式...使用addEventListener()正常removeEventListener()使用(意味着不是 IE 系列)。或为 IE6使用or (我也想 IE7 )attachEvent()detachEvent()

最好的方法...使用一些 js 库,我推荐 jQuery。

于 2012-05-17T14:50:04.763 回答
1

我知道你正在做这样的事情:

signin_input.onkeypress = function1;
signin_input.onkeypress = function2;

你可以这样做:

signin_input.onkeypress = function(){
    if (condition1) function1();
    if (condition2) function2();
};
于 2012-05-17T14:50:40.070 回答