停止javascript onclick'跳页'

问题描述:

似乎无法阻止跳转到页首行为。停止javascript onclick'跳页'

我已经试过这里的一切preventing onclick page jumps

建议还有什么可以做停止的onclick页面跳转?

谢谢。

下面是一段HTML和JS

HTML: 

<a href="javascript: return null;" onclick='javascript:getPosts("page=1&display=all"); return false;'>Everyone</a> 


JS: 

function getPosts(qry) { 
    var thePage = 'posts.php?' + qry; 
    myReq.open("GET", thePage, true); 
    myReq.onreadystatechange = theHTTPResponse; 
    myReq.send(null); 
} 

function theHTTPResponse() { 
    if (myReq.readyState == 4) { 
     if(myReq.status == 200){ 
      var response = myReq.responseText; 
      document.getElementById('posts').innerHTML = response; 
     } 
    } else { 
     document.getElementById('posts').innerHTML = '<img src="images/ajax-loader.gif" />'; 
    } 
} 
+2

我们真正需要的代码? – MitMaro 2009-12-17 19:32:31

+1

是的,给我们一些我们可以用来重现你的错误。 – 2009-12-17 19:34:07

+1

这是什么浏览器? – user103219 2009-12-17 19:58:03

返回在onclick假的真的是要走的路。如果这不适合你,我们需要看代码。

我一直使用:

<a href=""></a> 

主要是因为我讨厌使用

<a href="#"></a> 

追加#到URL的结尾。

编辑:

你确定这是不是一个浏览器的特定问题或偏好?

+0

如果您在onclick中返回false,则不会将#附加到URL。 – Aaron 2009-12-17 19:35:15

+2

在这种情况下,最好不要使用锚标签。如果元素不是*实际*链接,请不要将它变成一个。如果这是目标,则使用CSS来模拟''(或其他)来模仿链接的外观。 – 2009-12-17 19:42:49

+0

@Tegeril,谢谢,我已经尝试过这些,我仍然得到相同的行为。 @彼得贝利,我试过使用跨度而不是锚点,即。 blah,仍然没有停止页面跳转。 看起来我需要深入研究,只是不知道从哪里开始。我的php脚本返回正常的html标签 – Bailey 2009-12-17 19:51:19

所有你需要的是

<a href="javascript:">My Link!</a> 

,并添加你需要的任何标签的其他属性。

+0

谢谢杰森,也尝试过,但onclick仍然在“跳跃”。 :( – Bailey 2009-12-17 19:53:29

+0

你试过使用jQuery的$ .post而不是你做的方式吗? – Jason 2009-12-17 20:09:41

+0

...扩大,使用jQuery你根本不必使用'OnClick'属性,这样摆脱你的页面跳转完全... – Jason 2009-12-17 20:10:31

据我所知,事件已经是JS所以,你不需要把onclick="javascript:..."。试试这个:

<a href="javascript: return null;" onclick='getPosts("page=1&display=all"); return false;'>Everyone</a> 

<a href="javascript:;" onclick="...">Everyone</a> 

注意分号。

奇怪的是,我删除了我的PHP脚本的内容,保存,然后重新插入相同的内容后,问题得到纠正。不知道这有什么影响,但似乎修复跳跃。

我想这个问题从来没有在onclick返回false。

感谢大家的时间!

这是我使用和它的作品

<a href="javascript:getPosts('page=1&display=all'); return false;">Everyone</a> 

当使用被绑定到的“onClick”事件作为HREF总是解决了页跳转的问题对我来说,功能涉及到Ajax请求。

href="javascript:void(0);"

HREF = “JavaScript的:未定义” 应该做的伎俩