移动旧的内联JavaScript

时间:2014-04-23 02:32:31

标签: javascript html

我有这个小组件打开一个窗口onclick。问题是它的内联JavaScript,我知道这是过时的和丑陋的。如何将其向下移动并保持相同的功能?这不是我的代码,我只是想学习:)我已经尝试通过其ID来定位标记,然后添加一个事件监听器但是我得到错误,说明焦点是未定义的并且链接只使用其默认功能并将我带到同一窗口中的URL。任何指针?我非常感谢你的帮助!

<body>
    <a id="tower" href="http://static.slh.com/files//HUPARSR/Large_Gallery_02_HUPARSR_53800328_Exterior_-_Eiffel_tower_view_400x600_72.jpeg" 
    onClick='showPDF(this.href);return(false);'>
            Click here to see the Eiffel Tower.
    </a>
<script>
function showPDF(url) {
newwindow=window.open(url,'name','height=400,width=600,top=100,left=100,resizable');
if (window.focus) {newwindow.focus()}
}
</script>
</body>

1 个答案:

答案 0 :(得分:3)

onclick元素中删除a并使用javascript附加事件监听器:

<script>
document.getElementById("tower").addEventListener("click", function() {
    showPDF(this.href);
    return false;
});
// ... your other code below ...
</script>