2010-05-25 82 views
1

在Javascript中,如何将DOM元素的事件处理程序设置为默认行为?将元素重置为“默认”事件

例如,假设我设置onkeypress事件的输入元素:

elem.onkeypress = function() { alert("Key pressed!"); } 

后来,我怎么能删除此事件?简单地将onkeypress属性设置为null可以吗?我试过了,它可以工作,但我不知道这是否是正确的方法。

回答

1

我很确定这些事件将会是undefined而不是null,所以你最好还是回到那个位置。

它可能是矫枉过正的,但要更强大,你可以更好地保持参考onkeypress事件&重新分配(以防其他脚本也试图使用它) 。所以:

var oldKeyPress = elem.onkeypress; 
elem.onkeypress = function() { alert("Key pressed!"); } 

//... later ... 

elem.onkeypress = oldKeyPress;