$ cluetip未定义:为什么?

当我postload cluetip(即抓住它与ajax,然后附加一个脚本标签到身体),我得到以下JavaScript错误:$ cluetip是未定义的。但是,一切仍然有效。任何想法为什么?

后载脚本经过充分测试,不会破坏其他任何内容。我已确认脚本以正确的顺序加载。

回答:

动态加载的脚本不可立即使用。你必须等待脚本完全加载,这是一个比人们想象的更复杂的问题。

回答:

我不知道cluetip,它可能是一个错字,但$cluetip不会被定义,$.cluetip(注意“。”)应该是。

快速查看文档似乎让我觉得cluetip是一个必须在某个元素上调用的函数,即$('#somediv').cluetip(...)。如果你想要全局默认值,你有$.cluetip.setup(...),但无论哪种方式,它不会定义$cluetip,只是$.cluetip

回答:

我有一个类似的问题,这里是我如何最终解决它(即没有更多$cluetip未定义的错误信息)。

首先,这是我的情况,可能与您的情况类似。在页面上,我有一个

<div id="sel_area"></div> 

它是空的,这个想法是使用jQuery的/ AJAX动态生成所需<select><option>...</option>...</select> HTML代码插入到#sel_area上面,像这样

$('#sel_area').html(data); 

哪里数据是生成的HTML select标记。

但是,我认为我的问题是因为我没有以JSON或XML格式重新生成动态生成的数据结果,然后相应地处理它。相反,我懒懒地像普通文本/ html一样返回结果。当我一直得到$cluetip是未定义的错误,无论我尝试了什么,我决定使用alert(data)看到被返回。唉,在那里我亲眼看到数据不仅仅是我回应的内容,而且它还附带了整个html页面!这个解决方案对我来说很清楚。没有放弃以XML或JSON协议返回数据,我做了以下小改动来解决问题:

生成<select>标记的远程脚本的更改。最后的最后

echo "$select_tag"; 

我改变了这

echo "$select_tag~"; 

也就是说,我追加尾随〜(波浪号)作为我的select_tag串输出和HTML页面,我之间的分隔符,现在无论我是否喜欢,都知道会被附加。

jQuery/AJAX方法的变化。

我取代了线

$('#sel_area').html(data); 

与下面几行:

data_list = data.split('~'); 

$('#sel_area').html(data_list[0]);

有你有它。这就是诀窍。 split方法使我能够很容易地从数据中分离我想要的select_tag,因为我已经明智地插入了〜(代字号)作为字段分隔符,我知道它不是select_tag结果的一部分,也不是系统附加的HTML页面。希望这可以帮助。

以上是 $ cluetip未定义:为什么? 的全部内容, 来源链接: utcz.com/qa/260964.html

回到顶部