解决discuz与jquery不兼容问题——下拉列表不能用(Uncaught TypeError: Cannot set property 'position' of undefined)

问题描述:

最近学着用discuz来模仿一个门户网站,里面要把导航条做出滑动效果,要用到jquery,将要用到jquery引用到header.htm中,如下图所示:

但是由于discuz采用php以及本身的机制,jquery中的$会与discuz本身的common.js和forum.js产生冲突,会出现如下的错误导致下拉列表

解决办法:

解决思路:将jquery的$重新定义一下,比如我门将用jq代表jquery的$

在jquery-1.7.2.js的末尾加上一句如下代码:

var jq = $.noConflict();//使用 noConflict() 方法为 jQuery 变量规定新的名称

如图所示:

因为我header.htm中也用了$,将其改成jq,如下所示:

同时要将引用到的其他js中的$改成jq,改动jquery.movebg.js文件如下图所示:

这样问题就解决了,如下图所示:

解决discuz与jquery不兼容问题——下拉列表不能用(Uncaught TypeError: Cannot set property 'position' of undefined)

时间: 2024-10-21 14:30:14

解决discuz与jquery不兼容问题——下拉列表不能用(Uncaught TypeError: Cannot set property 'position' of undefined)的相关文章

Uncaught TypeError: Cannot read property 'call' of undefined jquery.validate.min.js:28

最近在做表单校验的时候,自己写的addMethod 方法老是不起作用,折腾了接近一天的时间.报的错误如下 Uncaught TypeError: Cannot read property 'call' of undefinedjquery.validate.min.js:28 先来看一下 我自己页面的布局. top.jsp 上面的截图为top.jsp的头部引用的表单校验jquery-1.6.js和jquery.validate.min.js 我来看我自己需要校验的那个页面的jsp布局(stepT

jQuery mobile报错 Uncaught TypeError: Cannot read property 'concat' of undefined

写一个jQuery mobile的demo <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="styl

vue 报错解决:TypeError: Cannot read property &#39;_t&#39; of undefined&quot;

前端报错如下: [Vue warn]: Error in render: "TypeError: Cannot read property '_t' of undefined" 是在项目中用了多语言配置,vue 跟 i18n之间的兼容问题.解决方法如下: Vue.use(iView) 替换成 Vue.use(iView, { i18n: function(path, options) { let value = i18n.t(path, options) if (value !== n

VUE.JS 使用axios数据请求时数据绑定时 报错 TypeError: Cannot set property &#39;xxxx&#39; of undefined 的解决办法

正常情况下在data里面都有做了定义 在函数里面进行赋值 这时候你运行时会发现,数据可以请求到,但是会报错 TypeError: Cannot set property 'listgroup' of undefined 主要原因是: 在 then的内部不能使用Vue的实例化的this, 因为在内部 this 没有被绑定.可以看下 Stackoverflow 的解释: 解决办法: 1.用ES6箭头函数,箭头方法可以和父方法共享变量 2.在请求axios外面定义一下 var that=this 问题

使用webpack命令打包时,报错TypeError: Cannot read property &#39;presetToOptions&#39; of undefined的解决办法

我只安装了webpack,没有安装webpack-cli,第一次输入webpack打包时,提示 One CLI for webpack must be installed. These are recommended choices, delivered as separate packages: - webpack-cli (https://github.com/webpack/webpack-cli) The original webpack full-featured CLI. We wi

VUE - 使用axios数据请求时数据绑定时 报错 TypeError: Cannot set property &#39;xxxx&#39; of undefined 的解决办法

created() { var that=this axios.get('http://jsonplaceholder.typicode.com/todos') .then(function (res) { // handle success // console.log(res); that.todos = res.data }) .catch(function (error) { // handle error console.log(error); }) .finally(function

Terminating app due to uncaught exception &#39;CALayerInvalidGeometry&#39;, reason: &#39;CALayer position contains NaN: [160 nan]解决方法

1 2014-06-11 15:19:17.167 ***[930:707] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [160 nan]' 2 *** Call stack at first throw: 3 ( 4 0 CoreFoundation 0x3365d64f __exceptionPreprocess

JQuery报错"Uncaught TypeError: Illegal invocation"

Jquery实现Ajax异步提交时报错"Uncaught TypeError: Illegal invocation",如下图: 排查发现错误在于此: data:{"search_value":$('input[name=search_value]'),"order_source":buyerType,"order_status":orderType} $('input[name=search_value]') 是一个对象而不

关于Discuz与jQuery冲突问题的亲测解决方法

最近的一个项目整合dede和discuz程序,客户要求风格统一,所以有很多样式及特效都是要公用的.其中jQuery库定义的函数$()正好与discuz的comme.js中函数一样,这样就冲突了,导致discuz论坛所有js效果失效.网上搜罗了一下,N多的方法,但是很多说的不明不白,我也试了很多方法,浪费了我一个晚上加一个早上,真是费时费力.不过其中一个方法倒是解决了这个冲突,所以共享出来备用,也方便大家. 其实解决方法倒是不难,难的是思路和没有一个详细的步骤,这里我就做个详细的说明.首先思路很简