重写 HTML 标签属性和方法 - Javascript 中实现 AOP 面向切面编程

假如有这样一个应用场景,如果对 INPUT 输入框的值进行控制,要求获取或设置时必须全部转成大写字母。当然,实现这个功能的方式太多了,这里只介绍一种大家最不可能用到的实现方式:当获取或设置时对逻辑进行拦截,增加一些自己的处理逻辑。

重写属性

这里仅提供一种编程思路,真实情况应该不对这么玩。实现思路如下:

在之前的一篇笔记中介绍了扩展原生标签属性的方法,请参阅 扩展 HTML 原生标签(上),里面的一些注意事项不再重复。

先上代码。

代码解释如下:

重写方法

这一节跟切面没什么关系。

每个标签都有一个getAttribute方法,用于获取自定义标签属性的值。属性名称如attr-nameattrName都是合法的属性值(其实任意字符都可以),且不区分大小写,建议属性值使用第一种的连字符格式。但是元素属性都是 Camel 格式,现在要求无论传入的是 Camel 格式还是连字符格式,都能获取到相应的属性值。

解决思路如下:

上代码。

代码解释:

好像就这么多。有问题请提交反馈

(本文完)


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!