首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'overriding’javascript函数

‘'overriding’javascript函数
EN

Stack Overflow用户
提问于 2009-06-01 14:17:01
回答 5查看 2.3K关注 0票数 2

在用户通过ASP.NET菜单导航离开之前,我需要添加一些验证。

我注意到这些项被呈现为使用名为Menu_Key的javascript函数

代码语言:javascript
复制
<td id="ctl00_MainMenun1" onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(this)">

我有一种方法可以重写该函数,并让菜单执行我的一个菜单,从中我可以验证我需要的内容,然后调用原始函数?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-06-01 14:21:54

在最初定义函数后重新定义它,但在var中跟踪它,以便以后可以调用它。您将有效地重命名原始的Menu_Key函数。

代码语言:javascript
复制
var originalMenu_Key = Menu_Key;

Menu_Key = function(t) { 
   // do your validations here

   if ( /* everything validated */ ) {
     originalMenu_Key (t);
   }
};
票数 6
EN

Stack Overflow用户

发布于 2009-06-01 16:03:57

上面的解决方案是有效的,但在一般情况下,可以以更灵活的方式进行重新定义

代码语言:javascript
复制
var originalMenu_Key = Menu_Key;

Menu_Key = function(t) { 
   // do your validations here

   if ( /* everything validated */ ) {
     return originalMenu_Key.apply(this,argumets);
   }
};

在这种情况下,函数签名中的任何更改都不会破坏包装逻辑。

票数 2
EN

Stack Overflow用户

发布于 2009-06-01 14:19:21

只需在页面底部重新定义函数(从技术上讲,在初始声明之后)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/935013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档