【问题标题】:Issue with Chrome - jquery/javascript not working after AjaxChrome 的问题 - 在 Ajax 之后 jquery/javascript 无法正常工作
【发布时间】: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


【解决方案1】:

使用better JavaScript links 消除副作用。用 span 元素替换锚点以避免 void() function conflict 并将 onclick 移动到 jQuery .click 事件。

【讨论】:

    【解决方案2】:

    为了调试,请尝试在ajax调用后重新运行js脚本。我会将您的 javascript 放入 .js 文件中,然后像这样重新运行它:

     $(document).ready(function(){
           //your ajax call
           $.getScript("yourjs.js");
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多