【发布时间】:2012-04-25 20:14:19
【问题描述】:
我在使用 Chrome 时遇到了一个奇怪的问题。我正在尝试在未遵循任何 w3c 标准开发的页面中解决此问题。我可以说几乎 1000 多个 w3c 问题。
错误出现在“onclick”函数上,该函数在 ajax 调用之前工作正常。在 ajax 调用之后,我们正在过滤内容(包括带有 onclick 的链接)。这些功能适用于 .show() 一个容器和 .hide() 另一个容器。在初始加载时工作正常。但是在使用 ajax 刷新链接后,.show() 和 hide() 不起作用(在浏览器中视觉上没有变化)。但我发现即使在 ajax 之后,函数调用也很顺利。我通过在函数中提供警报来测试这一点。但是函数内部的 .show() 和 hide() 没有发生。
我发现一种奇怪的行为,当我通过右键单击链接检查元素时,函数中的 show() 和 hide() 工作正常。
Safari、IE、Firefox 等没有问题,只有 Chrome 有问题。
希望这里的一些专家可以帮助我解决这个问题。
代码如下:
HTML
<a href="javascript:void(0);" onclick="swap(1)" >Show hotels in area</a>
<a href="javascript:void(0);" onclick="swap(2)">Show hotels on map</a>
<table border="0" cellpadding="0" cellspacing="0">
<tr id="hotelArea" style="display: none">
<td>
<!-- Hote Area Content here -->
</td>
</tr>
<tr id="hotelsMap" style="display: none">
<td>
<!-- MAP Content here -->
</td>
</tr>
</table>
html后的Javascript(在页面底部):
function swap(n){
if(n==1){
$('#hotelsMap').hide('slow');
$('#hotelArea').show('slow');
}
if(n==2){
$('#hotelArea').hide('slow');
displayHotelsOnMap();
$('#hotelsMap').show('slow');
}
}
我也尝试使用 .live(click) 代替内联 onclick,但发生了同样的问题.... 提前致谢 -苏尼尔
【问题讨论】:
-
感谢您的提问。用代码更新了我的问题..
-
有太多的可能性没有看到执行过滤的代码,听起来这就是问题所在。
-
不要认为过滤代码有问题,因为当我通过右键单击打开/隐藏容器的链接在 Chrome 中执行 Inspect 元素时,这是有效的...!
-
不要认为过滤代码有问题,因为当我通过右键单击打开/隐藏 continer 的链接在 Chrome 中执行 Inspect 元素时,这是有效的......!这个问题只存在于 chrome 中(在 Safari、IE、FF 等中测试和工作正常......!
标签: jquery google-chrome xhtml hide show