gpt4 book ai didi

jquery - Chrome 问题 - jquery/javascript 在 Ajax 后无法工作

转载 作者:行者123 更新时间:2023-12-01 06:02:18 25 4
gpt4 key购买 nike

我在使用 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,但发生了同样的问题......提前致谢-苏尼尔

最佳答案

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

关于jquery - Chrome 问题 - jquery/javascript 在 Ajax 后无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10141265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com