dopost is not a function 解决

2009年10月3日 | 分类: Javascript | 标签: ,

今天在修改dedecms的时候,js里给一个元素定义了一个方法
var dopost=function(){}
FF下面debug的时候,奇怪的报dopost is not a function,实际上是已经定义了。
找了半天才知道,dedecms里面有一个隐藏input 它的name=dopost,就是这个原因,命名冲突了
只要把定义的方法改个名字
var doajax=function(){}
就OK了。

  1. 2009年10月3日16:30

    在做这种二次开发的时候,这种情况是很容易遇到的,最好是开始写的时候就要考虑这个问题,就可以保证没问题了,那些javascript库都是用的这种方式,把自己的函数都封装在自己的“命名空间”下面,就不会有冲突了,例如jQuery的实用函数,例如$.trim()。trim()就是封装在“$”下面。具体实现你可以去翻翻书