2013-07-02 67 views
0

为什么这段代码无法正常工作?Img onkeydown不工作

<img src="picture.jpg" id="picture"/> 

<script> 
document.getElementById('picture').onkeydown = function() {alert('tekst');} 
</script> 
+0

清单: 是函数的约束? 事件是否生成? 事件处理程序是否被调用? – Prasanth

+0

我认为你必须通过讲述'keydown',例如'39'来做更多的事情。 – Raza

回答

2

你的形象没有焦点,所以它不会听'onkeydown'事件。我不确定是否有可能为了让您的onkeydown事件发挥作用而提供图像焦点。

相反,您可以将您的图像放在一个可以聚焦的a标签内,因此可以收听onkeydown事件。

事情是这样的:

<a id="picture" href="#"> 
    <img src="picture.jpg" /> 
</a> 

<script> 
    // The a tag 
    var picture = document.getElementById('picture'); 
    // You have to put focus on the atag (or any element that you want to have for you onkeydown event. 
    picture.focus(); 
    // Now your event will work 
    picture.onkeydown = function() { 
     alert('tekst'); 
    } 
</script>