前端插件之间面对重复使用规则的兼容转换---$(...).XXX is not a function
2017-07-07 11:54
417 查看
最近在着手开发一个工程的前端工作,开发结束后却碰到了一个前端js报错:$(...).bootstrapTable is not a function 开始是小编也很困惑,着手解决各种*.js直接的版本兼容性,引入的前后顺序校对,发现只要将jQuery.js在bootstrap框架的js之前引入就可以了(小编之前也是这么做的,同时提醒大家:bootstrapTable 需要jQuery1.9.1以上版本才可以兼容使用),但是还是各种报错,无奈只能遍历必应、百度等各大搜索引擎了: 看到网上各种方案,主要链接有以下几个: 1、http://blog.csdn.net/mix_rain/article/details/66541177 2、https://stackoverflow.com/questions/8586306/bootstrap-modal-is-not-a-function 3、https://stackoverflow.com/questions/29355864/bootstrap-uncaught-typeerror-undefined-is-not-a-function 其中主要描述解决方案经过筛选、验证有这几个: 1、改变jQuery的引入顺序位置 2、去除bootstrap的table后的div(千万别使用这种方式,完全就牛头不对马嘴嘛,根本不对应解决的问题,还会导致触发框显示变混乱) 3、使用jQuery的noConflict()函数消去对$的占用,让别的插件可以使用它(小编就是使用了这种方式) 但是小编想在这里分享给大家的是:jQuery.noConflict();也是不可用随意使用的,要考虑页面直接的交互、当前页面的加载问题来做出处理。比如:小编的页面是这样的: (https://img-blog.csdn.net/20170707115645948?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzIyMzUyNTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 因此,jQuery.noConflict();的使用要综合考虑到它的使用场景,小编这里因为是跳转到之前页面要进行使用 function TableInit() { //初始化Table this.Init = function() { $('#tb_admin').bootstrapTable({})}} 以上的bootstrapTable,所以在进入到使用bootstrap页面之前小编才需要对$符占用进行处理,以此来保证页面函数的正常加载使用。 好的,小编本篇内容就是这些,分享jQuery的$符占用解除问题:jQuery.noConflict(); 今后在碰到js框架、插件直接相同使用规则冲突报错时可以考虑使用,但需要结合实际场景进行考虑哦。
相关文章推荐
- 使用jquery插件autocomplete时候出现typeerror:this.source is not a function即与jquery的autocomplete冲突
- jQuery UI dialog插件出错信息:$(this).dialog is not a function及js引入重复解决办法
- jQuery UI dialog插件出错信息:$(this).dialog is not a function
- 实用程序软件包(关于使用静态函数报错问题“Static function declared but not defined in C+++ "eh.h is only for C++!"报错问题)
- Canvas使用错误:screen.getContext('2d') is not a function
- JQuery中xxx is not a function或者can not find $
- linux系统下使用sudo 提示:xxx is not the sudoers file. this incident will be reported
- jQuery问题:$XXX is not a function
- 使用highcharts插件时图表无法显示且jQuery报错:Uncaught ReferenceError: $ is not defined
- linux系统使用sudo命令报xxx is not in the sudoers file.This incident will be reported.的解决方法
- 使用toFixed()函数时,出现“toFixed() is not a function”的解决办法
- javascript 加入收藏夹 ,兼容IE firefox chrome ,解决 window.sidebar.addPanel is not a function
- jQuery UI dialog插件出错信息:$(this).dialog is not a function
- Argument 'xxx' is not a function, got undefined,初学Angular的第一个坑
- sudo使用问题之——xxx is not in the sudoers file。
- 使用hql查询时的异常:Xxx is not mapped[from Xxx where ...]
- -Dmaven.multiModuleProjectDirectory system propery is not set.【eclipse使用maven3.3插件进行编译的时候报错,按照里面的修改】
- Python使用eval强制转换字符串为字典时报错:File "<string>", line 1, in <module> NameError: name 'nan' is not defined
- 使用hql当异常查询:Xxx is not mapped[from Xxx where ...]
- 解决Jquery Kendo.xxx is not a function 的方法