$ 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