Keydown不适用于我的eventlistener

时间:2017-08-08 14:42:39

标签: javascript event-listener

我很困惑为什么当我按下一个键时,我的功能是不记录keydown事件?

window.addEventListener('keydown', function(e) {
  console.log(e);
});
<h1> Start typing </h1>

2 个答案:

答案 0 :(得分:2)

我认为正确的方法必须是使用文档对象而不是窗口对象。

以下代码应该有效:

document.addEventListener('keydown', function(e) {
    console.log("event", e);
});

答案 1 :(得分:1)

您的代码段似乎没问题。因此,它可能与您运行它的周围环境有关。

(也就是说,如果使用@Override public void onBindViewHolder(MoviesViewHolder holder, int position) { holder.movieGenreTextView.setText(""); Movie movie = mMoviesDetails.get(mMovies.get(position).getId()); if(movie != null){ /// set data to holder }else { //load data from network loadGenres(mMovies.get(position).getId()); } } 的其他答案对您没有帮助。)

请调查失败的情况。可能的原因可能是任何EventListener沿着冒泡方式取消document

您正在获取最高级别​​keyEvent,即窗口级别(甚至高于文档级别)。

如果沿事件方式停止冒泡,您将看不到它。

试试例子

keydown

这也会阻止您在orignal事件监听器中看到keydown。