`

js 通过注入方式改变原来对象默认的函数行为

 
阅读更多
<form name="kmReviewMainForm" method="post" action="/abc.do">

<div id="optBarDiv">



<input type=button value="暂存"
onclick="Com_Submit(document.kmReviewMainForm, 'saveDraft');">
<input type=button value="提交"
onclick="alert('bb');">
<input type="button" value="关闭"
onclick="Com_CloseWindow();"></div>

<script>
var inputElements = document.getElementById("optBarDiv").getElementsByTagName("input");
for(var i=0; i<inputElements.length; i++){
if("提交" == inputElements[i].value){
var a = inputElements[i].onclick;//先得到之前的函数体
inputElements[i].onclick = function(){alert("我被激活啦!");a();}//重写属性(函数),然后调用之前得到的a()
  }
}

</script>
</form>


var a = document.getElementById("optBarDiv").getElementsByTagName("input")[1].onclick;
document.getElementById("optBarDiv").getElementsByTagName("input")[1].onclick = function(){alert("我被激活啦!");reurn; a();};
分享到:
评论

相关推荐

    注入加载器::syringe::package:Webpack加载器,用于通过其依赖关系将代码注入模块

    当您使用require ,这将返回一个可以在测试代码中用于修改注入模块的函数。 默认情况下,注入模块中的所有require语句将被更改为用注入器替换,尽管如果未指定替换,则将使用默认值。例子在这样的模块中提供一些...

    第十五届蓝桥杯Web应用试题考察重点

    Vue.js:Vue核心(常用指令、常用模板语法、生命周期、数据渲染、事件绑定、自定义指令、组合式函数、插件等)、Vue组件(组件定义及使用、父子组件、兄弟组件、异步组件、组件插槽、依赖注入等)、vue-router(v4.x...

    Babel插件,可将有用的详细信息注入控制台语句-JavaScript开发

    默认行为:在控制台语句作用域之前添加向控制台st Captain's Log(:skull_and_crossbones:)添加注入变量名称用法babel-plugin-captains-log将有用的详细信息注入控制台语句。 默认行为:在控制台语句文件和位置之前...

    Squire.js:您友好的依赖注入程序,用于测试Require.js模块

    Squire.js是Require.js用户的依赖注入器,可以简化模拟依赖! 安装 凉亭 bower install squire NPM npm install squirejs 原料药 构造函数 首先,您必须像其他任何Require.js模块一样加载Squire。 除此示例外,...

    AngularJS 中文手册

    Services / Factories 这些核心服务集可通过依赖注入(DI)来供你的应用使用。 例如:$compile, $http, $location… Filters 这些ng模块中的核心过滤器用于在指令和表达式被渲染前转换模板数据。 例如:filter, ...

    程序天下:JavaScript实例自学手册

    3.43 JavaScript过滤SQL注入字符 3.44 textarea内实现行的翻页效果 3.45 textarea中的文本插入 3.46 查找两段文本中相同的词句 3.47 自动保存网页输出的文本 3.48 文本编辑器 第4章 鼠标特效 4.1 禁用鼠标右键 4.2 ...

    《程序天下:JavaScript实例自学手册》光盘源码

    3.43 JavaScript过滤SQL注入字符 3.44 textarea内实现行的翻页效果 3.45 textarea中的文本插入 3.46 查找两段文本中相同的词句 3.47 自动保存网页输出的文本 3.48 文本编辑器 第4章 鼠标特效 4.1 禁用鼠标右键 4.2 ...

    rxmq.middleware:该插件增加了对基于主题的中间件Rxmq.js的支持

    插入默认Channel.subject()和Channel.request()函数的替代,这些默认函数Channel.request()所有主题和请求默认为使用基于中间件的主题。 中间件将自动应用于通过相应主题和回复主题的所有数据。 在您想要修改发送...

    轻Http容器标准OPener_Server.zip

    注入代码:现阶段通过脚本语言的内置函数来实现。例如 perl 的 eval{};函数 , 同样具有这个特性的语言还有 python 、 javascript 、 php....原则上,每个容器应用为了不与其他容器应用程序冲突,都应该启动一个新的...

    adi:另一个依赖注入器(或其他任何东西)

    解析函数参数以注入提供程序。 默认情况下创建单例。 在循环操作上引发错误。 纯JavaScript。 方法链接。 懒惰的。 安装 npm install adi 这个怎么运作 Adi的功能主要是通过使用getter动态定义其自身实例上的...

    Angular.js中$resource高大上的数据交互详解

    创建一个resource对象的工厂函数,可以让你安全的和RESFUL服务端进行数据交互。 需要注入 ngResource 模块。angular-resource[.min].js 默认情况下,末尾斜杠(可以引起后端服务器不期望出现的行为)将从计算后的URL...

    JavaScript网页特效范例宝典源码

    实例078 通过JavaScript控制表单的提交与重置 122 实例079 带记忆功能的表单 123 实例080 防止表单重复提交 124 实例081 自动提交表单 125 实例082 通过for循环获取表单元素的中文名称 126 实例083 可以提交到不同...

    NoSQL自动攻击测试工具NoSQLMap.zip

    类似于盲SQL注入的用于验证无来自应用程序的反馈的Javascript注入漏洞的时序攻击。使用方法启动./nosqlmap.py或python nosqlmap.py.基本菜单1-Set options (do this first) 2-NoSQL DB Access Attacks 3-...

    精通AngularJS part1

    通过编译函数中的transcludeFn来获取嵌入函数252 通过$transclude在指令控制器中获取嵌入函数253 使用嵌入创建一个if指令253 在指令中使用priority属性255 93理解指令控制器256 为指令控制器注入特殊依赖257 ...

    taro-inject-component-loader:为 Taro React 小程序注入全局组件

    Taro React 小程序注入全局组件 缘由 众所周知,小程序中不能定义全局组件,如果我们想自定义一个 modal 弹窗,来替代 wx.showModal 的话,则需要在每个页面手动的引入组件。随着项目越来越大,手动引入组件无疑是...

    require-backbone-view-mock:RBMV 是 Require.js 用户的依赖注入器,使 Backbone 视图易于单元测试

    RBMV 是一个供 require.js 用户使用的依赖注入器,使 Backbone 视图易于单元测试。 不需要无头浏览器,它适用于任何测试框架。 安装 npm install rbmv 应用程序接口 构造函数 首先,您必须需要 RBMV。 本文档的...

    ramdux:redux魔改版本的函数式状态管理库

    是函数式编程在React组件编写的另一种实现思路。ramdux的思路每个组件实例有自己的Store实例。组件之间的通信通过Store之间的组合来实现。redux的state默认被Promise。ramdux的APIconnectconnect把React组件转化成...

    fastify-register-routes:插件可自动从指定路径加载路由,并可以选择通过正则表达式限制加载的文件名

    fastify寄存器路由(fastify-register-routes)插件可自动从指定路径加载... useService :在fastify Request对象内允许的服务注入方法。 接受以下示例的函数列表作为参数。 schema :在您的路由中,您可以定义模式,

    ongine:用于节点的基于 JSON 的模板引擎

    模块函数最多需要 3 个参数并默认返回一个字符串。 第一个参数view可以是表示模板的对象,也可以是包含一组模板对象和/或字符串(将呈现为原始文本)的数组,或字符串,在这种情况下,引擎会将其视为模板文件的...

    6KBBS(6K论坛) v8.0 build 20100901 繁体版.rar

    ·更改论坛的logo的使用方式,方便大家修改logo, 现在大家只要修改 images/logo_bbs234x60.gif 这个论坛logo就可以了; 门户的logo是 images/logo_portal234x60.gif; 建议logo的尺寸為234x60,也是logo的一个标...

Global site tag (gtag.js) - Google Analytics