如何自动处理javascript函数调用并对其进行包装/修饰
您好,我对现有的javascript代码有问题 背景是一些JSP标记自动包含JS函数,然后一些html元素需要运行这些函数。 但关键是有很多html元素需要使用包含的JS函数,并且很难修改每个单独的元素来配置它应该运行的函数如何自动处理javascript函数调用并对其进行包装/修饰,javascript,html,jsp,Javascript,Html,Jsp,您好,我对现有的javascript代码有问题 背景是一些JSP标记自动包含JS函数,然后一些html元素需要运行这些函数。 但关键是有很多html元素需要使用包含的JS函数,并且很难修改每个单独的元素来配置它应该运行的函数 让我们考虑一个简单的例子:我们有生成表< /p>的JSP标记 <table id="automaticallyGeretatedId"> <tr> <td></td> </tr> </table> 然
让我们考虑一个简单的例子:我们有生成表< /p>的JSP标记
<table id="automaticallyGeretatedId">
<tr>
<td></td>
</tr>
</table>
然后我们有一些html外部按钮或/和div-s,它们的方法名为“clearData”,但JS是html页面的一部分
有时以这种方式(嵌入Html)
所以我的问题是:除了修改代码中的每个简单clearData之外,还有其他方法来确保每次运行clearData函数时,函数removeItemFromTable()也会运行吗
我的意思是我可以搜索clearData函数并在调用removeItemFromTable函数后追加它吗?这个手术应该在哪里进行,最好的方法是什么
假设每次出现clearData()函数时,函数removeItemFromTable()也将包含在内。最后,我决定使用此链接中描述的技术: 我在文档中设置了准备搜索函数clearData() 函数decorateClearData()中的和代码
这是因为clearData是全局函数,也许这不是一种实用的方式,但我没有其他想法。为什么不在某个地方注册各种处理程序,并从一个地方调用它们,就像本例中的
clearData
?事件也可能是合适的,除非你有很多严格的顺序操作。@Dave Newton你能给我更多关于你思维方式的细节吗?简而言之:与其只定义removeItemFromTable
,不如定义它,并将其添加到clearData
将运行的函数列表中。我认为大多数ppl都需要更多“事件驱动”解决方案,但这是一个很好的信息。thx 4共享
function removeItemFromTable(){
//modify automaticallyGeretatedId
}
function addItemToTable(){
//modify table, add values and so on..
}
<script>
function clearData(){/*some code*/}
</script>
function clearData(){ //some code
}
$( document ).ready(function() {
decorateClearData();
});
function decorateClearData() {
clearData = (function() {
var cached_function = someFunction;
return function() {
cached_function.apply(this, arguments); // use .apply() to call it
// and my new code:
removeItemFromTable();
};
}());
}