如果你曾经是jquery的写手,而又不想学mootools的语法格式的话,我们可以修改一下mootools的语法格式让其语法格式和jq完全相同,这样你就不但不必在学习mt的语法了,同时还可以体验到mt的优点,在这种状况下我们可以做到不改变jquery已有的任何语句只修改一下对js框架的调用即可(即把对jquery.js的调用换成对mootools.js的调用),保证网站不会出错,听起来是挺唬人.实际上完全能做得到.

  Mootools有强大的扩展机制,这种机制允许我们随意定制Mootools的语法格式,这是一个好消息,不好的消息是如果想把jquery的语法格式改成mt那打死也做不到,废话不多说我们分别看一下两个例子比较一下Mootools和jquery的语法差别:

//Jquery语句$('id').css('color','red');$('id').html('ff');$('id').click(function(){});

//Jquery的ajax$.ajax({    type:"post",url:"?",    data:"lat=風景&lng=Boston",    error:function(msg){alert(msg);return false;},    success:function(msg){if(msg.indexOf('Error:')!=-1){alert(msg);return false;}        alert(msg+'|'+msg.length);    }});

//Mootools语句$('id').setStyle('color','red');$('id').set('html','ff');$('id').addEvent('click',function(){});

//Mootools的ajaxvar myElement=document.id('myElement');var myRequest=new Request({    url:'getMyText.php',    method:'get',    onRequest:function(){        myElement.set('text','loading...');    },    onSuccess:function(responseText){        myElement.set('text',responseText);    },    onFailure:function(){        myElement.set('text','Sorry,your request failed:(');    }});document.id('myLink').addEvent('click',function(event){    event.stop();    myRequest.send('userid='+this.get('data-userid'));});

  在上边的例子中我分别对照了两种js框架不同的语法结构,细心的童鞋应该能发现两种框架的语法格式其实差异还蛮大的,要把mt的语法修改的和jq一样岂不是天方夜谭,好了,别担心就算不相信我也没关系,但请相信Mt有此能力就行了.

看我的示例代码:

//先来实现一下jquery的html和css方法Element.implement({    html:function(value){return (typeOf(value)=='string')?this.set('html',value):this.get('html');    },    css:function(opt,value){switch(typeOf(opt)){case 'object':this.setStyles(opt);break;case 'string':if(typeOf(value)=='string'){//$('a').css('color','red');                this.setStyle(opt,value);            }else{//console.log($('a').css('color'));                return this.getStyle(opt);            }        }return this;    }});

//再实现ajax$.extend({    ajax:function(options){var request;        options.method=options.type || options.method || 'get';if(options.complete){options.onComplete=options.complete;}if(options.error){options.onFailure=options.error;}if(options.success){options.onSuccess=options.success;}if(options.dataType && options.dataType.toLowerCase()=='html' && Request.HTML){            request=new Request.HTML(options);        }else if(options.dataType && options.dataType.toLowerCase()=='json' && Request.JSON){            request=new Request.JSON(options);        }else{            request=new Request(options);        }if(options.timeout){request.cancel.delay(options.timeout);}return request.send();    }});

  好了,有了上边的代码,接下来那就完全可以像写jquery一样去写mootools了,当然了jq的方法很多个,我这里只写了两个外加一个ajax,更多的实现方法就需要你们自己思考着去写了,别人嚼烂了不香.
  嘿嘿,我闪人先.

自己写个扩展把Mootools的语法改的和Jquery的语法一模一样相关推荐

  1. 用PHP写PHP扩展-Another way writing php extensions

    前言 目前写PHP扩展主要有三种方法: C语言 C++ php-cpp Zephir Zephir 其中Zephir其实也是先翻译成C语言,然后再编译成扩展的.用Zephir 编写的Phalcon,就 ...

  2. 用C语言写PHP扩展

     用C语言写PHP扩展 1:预定义 在home目录,也可以其他任意目录,写一个文件,例如caleng_module.def 内容是你希望定义的函数名以及参数: int a(int x,int y) s ...

  3. upload-labs_pass10_点空点绕过_pass11_双写文件扩展名

    关于靶场说几点:单纯用phpstudy 可能无法复现所有的漏洞,而且phpstudy中的php可能是线程不安全的,所以建议大家在自己本机或者虚拟机的中亲自搭建一下apache和php的环境,便于复现u ...

  4. 给微软的依赖注入框架写一些扩展方法

    给微软的依赖注入框架写一些扩展方法 Intro 现在在项目里大多都是直接使用微软的依赖注入框架,而微软的注入方式比较简单,不如 AutoFac 使用起来灵活,于是想给微软的依赖注入增加一些扩展,使得可 ...

  5. Lua 中写 C 扩展库时用到的一些技巧

    Lua 中写 C 扩展库时用到的一些技巧(转) 通常,C 扩展库中 C 代码会有一些数据要放在 lua 状态机中.Lua 提供的方案是放在它的 注册表 中.如文档所言,因为 Lua 的注册表是全局共享 ...

  6. jQuery基本语法和选择器

    JQuery 一.JQuery基础语法 1.概念 JQuery是javaScript的一个库,Jquery基于javascript开发出来.目的就是为了简化javascript的开发. 宗旨:&quo ...

  7. cricheditview实现语法高亮和行号_Markdown语法详解及工具介绍

    一.快捷键 加粗 Ctrl + B斜体 Ctrl + I引用 Ctrl + Q插入链接 Ctrl + L插入代码 Ctrl + K插入图片 Ctrl + G提升标题 Ctrl + H有序列表 Ctrl ...

  8. 【前端基础】20.JQuery基本语法

    视频 目录 1.jQuery概述 1.1 JavaScript库 1.2 jQuery的概念 2.jQuery的基本使用 2.1 jQuery的下载 2.2 jQuery的使用步骤 2.3 jQuer ...

  9. 阿里云面试:什么是语法糖?Java中有哪些语法糖?

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  10. 什么是语法糖?Java中有哪些语法糖?

    本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,了解这些语法糖背后的原理 1 语法糖 语 ...

最新文章

  1. Exchange 2010向外网发邮件的配置
  2. 30分钟快速搭建移动应用直传OSS服务
  3. hydra安装及使用
  4. Linux基础(8)--关于man命令
  5. 整个电脑键盘被锁住了_希沃智能大屏按键说明,锁屏组合键你知道吗?小心被熊孩子锁住了...
  6. conda install 报错PackagesNotFoundError: 以及和合理使用源的策略
  7. vuxui 安装使用,解决npm项目文件严重问题提示
  8. mst358 温控(热敏电阻)调试
  9. 华为交换机开启web管理
  10. html流特性,CSS深入理解流体特性和BFC特性下多栏自适应布局_html/css_WEB-ITnose
  11. python 正则匹配 条件太多怎么办_python正则中re.findall匹配多个条件
  12. dell r720光盘启动项_Dell R720服务器安装操作系统
  13. linux 打印进程日志,Linux系统日志管理:(2)进程统计日志
  14. shell softech 面料_MAMMUT猛犸象的黑科技大军(服装篇)
  15. 微信小程序:全局状态管理mobx-miniprogram、mobx-miniprogram-bindings
  16. 如何安装Ubuntu 20.04 LTS服务器的图文教程
  17. 《MS17-010(永恒之蓝)—漏洞复现及防范》
  18. 17 记一次 spark 读取大数据表 OOM OutOfMemoryError: GC overhead limit exceeded
  19. [收集整理]BT恶心诗全集
  20. 2022中国(成都)预制品暨调味品展览会

热门文章

  1. 哈弗h2s车内时间怎么调_你想拥抱的品质生活,就让哈弗H4乐享版帮你实现吧
  2. 一.第一周golang学习:--string解析成基本数据类型
  3. python-gui-pyqt5的使用方法-4--自定义信号的初识--多参数的使用
  4. 帆软填报Execl表格不定行导入
  5. android 过滤ip,EditText Android过滤器的IP地址###。###。###。###?
  6. redis jar包_「建议收藏」手把手教你从零搭建一个redis服务
  7. TensorFlow共享变量
  8. 《统计学习方法》——逻辑斯蒂回归
  9. 取代SharedPreferences的多进程解决方案
  10. mingw,cygwin,gnuwin32,msys,msys2 的区别