近来需要对系统的页面录入部分进行优化,具体需要在每个录入框增加一个onblur事件,因为涉及的地方很多,并且有的录入框已经存在onblur事件,如果全部动态增加的话,存在一个无法控制两个onblur事件函数执行顺序的问题。如果JavaScript也有java中的AOP的话那所有的问题就迎刃而解,下面就模仿AOP的思想实现一个JavaScript中的"AOP"
代码如下
<input type="text" onBlur="alert('原先的事件函数');">
<script type="text/javascript">
//处理所有,先判断是否为空
function init(){
var ls = document.getElementsByTagName("input");
for(var i=0;i<ls.length;i++){
//替换原来blur操作
if(typeof(ls[i].onblur) =="function"){
ls[i].oldBlurFn = ls[i].onblur;
ls[i].onblur = myBlurHandler;
}
}
}
//自己的blur处理;
function myBlurHandler(){
if(event.srcElement.value=="")return;
before();
event.srcElement.oldBlurFn.apply(event.srcElement,[event]);
after();
}
function before(){
alert("在原事件前执行before函数");
}
function after(){
alert("在原事件后执行after函数");
}
window.attachEvent("onload",init);
</script>
分享到:
相关推荐
AOP编程技术分享,包括iOS和javascript等多个平台实现
主要介绍了JavaScript的AOP编程,以实例形式分析了javascript面向切面编程的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
主要介绍了JavaScript AOP编程,实例分析了javascript实现AOP编程的基本技巧,需要的朋友可以参考下
AOP面向切面编程的JavaScript实现
什么是AOP? AOP(面向切面编程)的主要...通常,在 JavaScript 中实现 AOP,都是指把一个函数“动态织入”到另外一个函数之中,具体的实现技术有很多,下面我用扩展 Function.prototype 来做到这一点。请看下面代码:
AOP是OOP的延续,是函数式编程的一种衍生,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 2. 基础实现 使用过java spring的...
javascript面向切面编程,可以用来防止表单重复递交
Java基础体验Java1.5中面向(AOP)编程.docx
Aop又叫面向切面编程,其中“通知”是切面的具体实现,分为before(前置通知)、after(后置通知)、around(环绕通知),用过spring的同学肯定对它非常熟悉,而在js中,AOP是一个被严重忽视的技术点。但是利用aop...
针对node.js和浏览器的javascript中面向方面编程(AOP)的方法。 在不同的用例中,可以方便地使用AOP,例如日志记录,缓存,测试,调试,过滤器之前/之后等。 filter.js为javascript中的AOP提供了一种优雅的方法。...
在使用JavaScript搜索简单的AOP库时,我们评估了几种解决方案,并决定使用Fredrik Appelberg出色的 我们发现,不是将JavaScript对象传递到namespaces参数中,而是需要传递对象原型,因此该方面会拦截我们对象方法的...
使用ES7装饰器进行Java语言方面的编程。 安装 npm install decorator-aop 用法 将类分配给方面。 @Aspect.target(Example) class ExampleAspect extends Aspect { } 连接点 使用以下装饰器在方面上注册连接点。 ...
向 jQuery 添加面向方面编程 (AOP) 的功能。 介绍 jQuery AOP 是一个非常小的插件,它为 javascript 添加了功能。 它允许向任何全局或实例对象添加( Before 、 After 、 After Throw 、 After finally 、 Around和...
aopjs, 面向简约方面的javascript编程库和jQuery插件 AopJS 面向方面的javascript编程库和 jquery/Angular 插件。 正在启动如果打算将该脚本作为插件使用,请将该脚本作为独立库添加到jquery或者之后,以作为独立库...
可是在 Javascript 中,AOP 是一个经常被忽视的技术点。 场景 假设你现在有一个牛逼的日历弹窗,有一天,老板让你统计一下每天这个弹窗里面某个按钮的点击数,于是你在弹窗里做了埋点; 过了一个星期,老板说用户...
to-aop模块可帮助您将应用于JavaScript。 它在的内部与其他类似模块相同地使用对象。 它允许您在不创建新实例的情况下钩住类。 它使用javascript原型。 例如,我正在使用它向缺少所有调试代码的生产代码添加挂钩。...