停止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" />';
}
}
返回在onclick假的真的是要走的路。如果这不适合你,我们需要看代码。
我一直使用:
<a href=""></a>
主要是因为我讨厌使用
<a href="#"></a>
追加#
到URL的结尾。
编辑:
你确定这是不是一个浏览器的特定问题或偏好?
如果您在onclick中返回false,则不会将#附加到URL。 – Aaron 2009-12-17 19:35:15
在这种情况下,最好不要使用锚标签。如果元素不是*实际*链接,请不要将它变成一个。如果这是目标,则使用CSS来模拟''(或其他)来模仿链接的外观。 – 2009-12-17 19:42:49
@Tegeril,谢谢,我已经尝试过这些,我仍然得到相同的行为。 @彼得贝利,我试过使用跨度而不是锚点,即。 blah,仍然没有停止页面跳转。 看起来我需要深入研究,只是不知道从哪里开始。我的php脚本返回正常的html标签 – Bailey 2009-12-17 19:51:19
据我所知,事件已经是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的:未定义” 应该做的伎俩
我们真正需要的代码? – MitMaro 2009-12-17 19:32:31
是的,给我们一些我们可以用来重现你的错误。 – 2009-12-17 19:34:07
这是什么浏览器? – user103219 2009-12-17 19:58:03