0

我忘了添加

return false;

到 78 页以上的 onclick 事件,我不想编辑 78 页。我需要添加它,因为单击链接时 Chrome 会上下移动屏幕,而且它不会移动屏幕很重要。我没有给包含 onclick 一个 id 的链接,所以我需要抓住它,唯一的链接,在那个 div 里面并修改它,所以它说

onclick="myFunction(); return false;"

不是

onclick="myFunction();"

我已经尝试了很多东西公司。

document.getElementById('shuffle-the-deck').getElementsByTagName('a').setAttribute( 'onClick', 'javascript: startShuffle(); return false;' );

我必须上传每个更改来测试它,这让我发疯了!

我将不胜感激,

4

1 回答 1

1

这将适用于第一个锚点(如果有更多,请使用循环):

var anchor = document.getElementById('shuffle-the-deck').getElementsByTagName('a')[0];
anchor.onclick = function(e) {
    e.preventDefault(); // prevents the browser from following the href
                        // just like "return false"
    startShuffle();
}

在 IE8 和更早版本上,您必须设置returnValue事件对象的属性。所以一个更跨浏览器的方法是:

var anchor = document.getElementById('shuffle-the-deck').getElementsByTagName('a')[0];
anchor.onclick = function(e) {
    (e.preventDefault) ? e.preventDefault() : e.returnValue = false; 
    startShuffle();
}
于 2013-02-18T16:33:12.580 回答