从has no method 'tmpl'谈起
最近做一个相对比较功能专业化的应用系统,其中今天Leader提出的功能修改需求有点smart table的意思,其中有个界面修改由于用Dom操作太麻烦了,于是想用用很久之前在学习jQuery API中看到的js模板,这个东东好像目前在一些JS MVC实现中很流行。
1、第一次看到"has no method 'tmpl'"这个提示,G了一下,结果第一个结果英文帖子说tmpl不属于jquery的核心内容,属于插件,需要另外下载jquery-tmpl插件,据说这是微软贡献的开源插件,host在github上,下载地址:https://github.com/jquery/jquery-tmpl
2、把上面那个插件的min.js加载上,仍然函数不存在的提示,开始的时候以为是函数的调用方式有问题,于是采用插件文档中的Demo写法,仍然提示函数不存在,后来动脑袋想了想,发现了其中问题:由于我目前开发的模块和网站整体的JS引用存在区别,所以目前模块的JS引用没有写在foot.jsp里,而是写在side.jsp里面,有些mainContent页面里面的JS代码存在对库的依赖问题,于是在mainContent前面部分,可能会重复地放某些JS库文件,比如此处的jQuery.min.js,而我的tmpl.min.js由于只在这个页面内用一下,于是放在mainContent.jsp中jquery.js引用的后面,而我的页面整体布局采用的固定布局方式,sidebar虽然在mainContent的左面,但是采用负值maring-left的布局方式,side.jsp文件代码实际页面中是在mainContent的后面,导致我的tmpl.js实际是在两个jquery.js的中间,tmpl给$对象添加的tmpl函数,在后面那个jQuery中又被重置了,所以找不到啊。Ok,这个提示的问题就此解决。同时稍微深入谈一下JS加载依赖这个问题,其实如果所有JS里面的函数都暴露在全局,不存在调用某个对象的函数属性问题的话,前前后后都无所谓,因为是平行的,而且执行都是加载完的事件引发,依赖的是那部分,依赖的其实是那些在函数外面的代码,也就是那部分在加载的时候就要执行的代码,这些代码之间才存在真正的依赖关系:也就是后面执行的代码要依靠前面代码的执行结果,这和静态语言比如C之类的include是有区别的,C的include解决的是语言编译时的引用依赖,而JS中的依赖实际是执行关系的依赖,说白了:后面的代码用到了前面代码的计算结果,而不是仅仅那么一个引用标记。
3、前面那个问题算是解决了,下面讲讲其他几个今天碰到的JS问题,先将讲dblclick事件的绑定问题,白天在单位做的,那个时间CSDN博客访问有问题,晚上回家写,代码也不在身边,可能细节上不太全,有兴趣的人凑活看吧,第一次实现的时候,用的就是最基本的方法,用元素on属性解决的,我在Chrome下做的测试,结果上线以后,IE下基本无效,G了一下,发现IE和其他浏览器在这事件上语法不一样,于是乎用jQuery的dblclick()方法绑定事件函数解决跨浏览器兼容问题,结果还发现另外一个问题,由于事件冒泡模型的区别,之前的事件处理函数在某些情况下会出现设定外的意外处理情况,于是乎用event.stopPropagation();解决了这个问题。
4、在后续的另外一个blur事件处理函数中,采用元素on属性方式下,在IE中,jQuery语法的的event对象好像无效,event.target是个null,由于这个事件函数的target是动态添加的,于是用jQuery的live函数做了事件绑定处理,解决了event无效的问题,后来想了想,可能jQuery的event跨浏览器兼容要想生效,可能必须得用它的函数做事件绑定,否则它的阔浏览器处理可能插不进来。具体估计得看它的代码才能确认。
5、button元素的Type属性的默认值问题,昨天碰到预设的普通button在点击之后,不但激发了click事件,在事件处理之后还自动提交了表单,好像之前碰到过这个问题,当时只是解决了,没有思考问题原因,昨天我觉得可能是前面说的问题,但是只是加了明文的type属性,没有做确认,今天写了段代码试了一下,果然是啊,button元素在IE里面的默认Type属性值是button,在Chrome和Firefox里面的默认属性值是submit。所以用这个元素的时候,最好还是写明其Type属性值。
从has no method 'tmpl'谈起的更多相关文章
- 浅谈C++设计模式之工厂方法(Factory Method)
为什么要用设计模式?根本原因是为了代码复用,增加可维护性. 面向对象设计坚持的原则:开闭原则(Open Closed Principle,OCP).里氏代换原则(Liskov Substitution ...
- 再谈机器学习中的归一化方法(Normalization Method)
机器学习.数据挖掘工作中,数据前期准备.数据预处理过程.特征提取等几个步骤几乎要花费数据工程师一半的工作时间.同时,数据预处理的效果也直接影响了后续模型能否有效的工作.然而,目前的大部分学术研究主要集 ...
- 网络(最大)流初步+二分图初步 (浅谈EK,Dinic, Hungarian method:]
本文中 N为点数,M为边数: EK: (brute_force) : 每次bfs暴力找到一条增广路,更新流量,代码如下 : 时间复杂度:O(NM²): #include<bits/stdc++ ...
- 浅谈 LayoutInflater
浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- 浅谈Virtual Machine Manager(SCVMM 2012) cluster 过载状态检测算法
在我们使用scvmm2012的时候,经常会看到群集状态变成了这样 点开看属性后,我们发现是这样 . 发现了吗?Over-committed,如果翻译过来就是资源过载,或者说资源过量使用了,那么这个状态 ...
- 归一化方法 Normalization Method
1. 概要 数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果.然而除非对这些算法有丰富的使用经验,否则预处理的精确参数并非显而易见. 2. ...
- 浅谈Java中的equals和==(转)
浅谈Java中的equals和== 在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str ...
- PPK谈JS笔记第一弹
以下内容是读书笔记,再一次温习JS好书:PPK谈JS window.load=initializePageaddEventSimple('window','load',function(){}) lo ...
随机推荐
- 未完成的IT路停在回车键---2014年末总结篇
时间都去哪儿了? 一晃而过,越来越能体会到这个词的真实感.特别是过了二十岁,这种感觉越来越深刻,越来越强烈,犹如小编做公交车的时候一直向后排排倒的香樟树,还记得有首歌叫时间都哪儿了,而 ...
- EBS条形码打印
Oracle 提供两种方式实现 128 码的编码 第一种方式是使用 Reports Builder 实现对 128 码编码, 在 Metalink 305090.1[1] 有 比较详尽的描述,其中 ...
- iOS中 读取相册,调用系统相机 技术分享
技术内容:分别读取相册以及调取相机,将图片显示到imageView上 布局: 1.创建imageView 和 button 并为button一个关联pickerImage的事件 <div sty ...
- VC++读取图像RGB值
代码: #include <iostream> #include <fstream> #include <string> #include <windows. ...
- C++ Primer 有感(顺序容器)
1.顺序容器的元素排列次序与元素的值无关,而是由元素添加到容器里的次序决定. 2. 顺序容器 vector 支持快速随机访问 list ...
- 【嵌入式开发】C语言 内存分配 地址 指针 数组 参数 实例解析
. Android源码看的鸭梨大啊, 补一下C语言基础 ... . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/detai ...
- 算法面试题-leetcode学习之旅(一)
问题描述 Given an array of size n, find the majority element. The majority element is the element that a ...
- 【一天一道LeetCode】#18. 4Sum
一天一道LeetCode (一)题目 Given an array S of n integers, are there elements a, b, c, and d in S such that ...
- Leetcode_34_Search for a Range
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/44021767 Given a sorted array o ...
- window环境下搭建react native及相关插件
可以先浏览一下中文翻译的开发文档具体了解一下关于React Native,想要查看官方文档可以点http://facebook.github.io/react-native/docs/getting- ...