我还在学习jQuery(1.6分钟)和Javascript,但是对我迄今为止所能实现的目标感到非常满意,但这个问题让我上当了 - 我已经看了四个小时!
我在a中包含的页面上有以下链接(id值为'NorthWest'): -
<figure><a href="http://localhost:8888/popup/PFS98394" class="popUpSimple"><img src="http://localhost:8888/98394.jpg" alt="" border="0"></a></figure>
单击时,将内容正确加载到a中使其可见。它不会重新加载页面,只是使DIV在当前内容的顶部可见。执行此操作的Javascript使用标准的jQuery Fancybox。
一切正常,DIV可以多次显示和隐藏,每次加载不同的信息。现在有一个IMG按钮,允许用户使用最新内容重新加载“NorthWest”DIV - 点击它时执行此代码:
$(".RefreshThumb").find("a").click(function(){
$(".RefreshLoader").show();
$("#NorthWest").load("/refreshdata");
setTimeout(RefreshHide,1000);
});
setTimeout行指的是一个小图形(刷新器),它会暂时显示,以告知用户正在刷新数据。
现在,取出$(“#NorthWest”)。load etc ..行,一切正常。重新添加该行,并且popUpSimple链接正常工作,直到单击IMG按钮刷新NorthWest DIV,之后popUpSimple内容作为新页面加载并且不再重叠 - 在点击之前弹出叠加层正常工作无论如何你点击它多少次。
编辑:我应该指出,在点击IMG按钮重新加载NorthWest DIV之后,它就成功了,只有当你点击popUpSimple链接时才会出错!
我做错了什么?我正在使用Safari并在重新加载页面后查看Web Inspector窗口,而不是加载到DIV节目中:
<script type="text/javascript">
$(document).ready(function() {
显示参考错误消息:无法找到变量$。
任何人都可以指出我正确的方向......拜托!
答案 0 :(得分:1)
这听起来像是一个eventlistener问题,请尝试使用.on('click',function(){}
代替.click(function(){}
答案 1 :(得分:1)
也许jquery'$'被另一个JS框架覆盖了。
当然没有单引号,只需用'jQuery'替换你的'$'。 您甚至可以尝试使用http://api.jquery.com/jQuery.noConflict/ 您可以在加载jQuery库后立即添加此内容,例如:
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
// Code that uses other library's $ can follow here.
</script>