我想在React中的div上使用keyDown事件。我做:
componentWillMount() {
document.addEventListener("keydown", this.onKeyPressed.bind(this));
}
componentWillUnmount() {
document.removeEventListener("keydown", this.onKeyPressed.bind(this));
}
onKeyPressed(e) {
console.log(e.keyCode);
}
render() {
let player = this.props.boards.dungeons[this.props.boards.currentBoard].player;
return (
<div
className="player"
style={{ position: "absolute" }}
onKeyDown={this.onKeyPressed} // not working
>
<div className="light-circle">
<div className="image-wrapper">
<img src={IMG_URL+player.img} />
</div>
</div>
</div>
)
}
它工作正常,但我想以React风格做更多。我试过了
onKeyDown={this.onKeyPressed}
在组件上。但是它没有反应。我记得它可以处理输入元素。
码笔
我该怎么做?
您应该使用 tabIndex 属性,以便能够在React中的div上监听onKeyDown事件。设置tabIndex =“
0”应该会触发您的处理程序。
问题内容: 我试图在ReactJS组件中使用event.stopPropagation()来阻止单击事件冒泡并触发遗留代码中与JQuery关联的click事件,但是似乎React的stopPropagation()只能停止传播到事件也附加在React中,并且JQuery的stopPropagation()不会停止传播到随React附加的事件。 有什么方法可以使stopPropagation()在这
问题内容: 我在有角度的应用程序中使用Google Maps javascript API。在带有鼠标的常规台式机上使用Google Chrome浏览器中的应用程序时,各种导航功能(平移/缩放)可以在应用程序的Google Maps部分正常工作。但是,当我尝试在Windows 8.1屏幕上使用触摸手势时,地图无法识别任何平移或缩放手势。如果我捏变焦,什么也不会发生。如果我像鼠标一样在屏幕上双击,则
例如,用谷歌搜索网站,登陆主页,然后进入跨域网站正确记录“有机”作为媒介 (已通过在GA中使用实时数据进行验证) 但是,通过谷歌搜索网站,登陆主页,然后进入跨域网站并完成一个事件,会错误地将“Direct”记录为该事件的媒介。 GTM设置已配置为: -5个域推送到“汇总”GA帐户 -autoLinker=true -Cookie-Domain=auto -auto-Link-domains=sit
问题内容: 我正在将多页php + jquery网站转换为单页角度应用程序。但是我已经用jquery编写了很多代码,因此只打算将php换成与路由等有关的角度。 我遇到的一个我无法弄清楚的问题是,在转换停止工作之前,我一直用尽的jquery click事件。如果更改代码以使其通过ng- click触发,则它将起作用,即使我从控制台调用该函数也是如此。jQuery正常工作,我在提到的函数中放了一些jQ
我正在构建一个混合反应原生RubyonRails应用程序。我正在使用组件中的来检测页面中的更改,并使用它来更改react native navigation菜单。这很好,但当我尝试使用时,页面中可能会有更改,但不会触发。 使用以下代码触发导航状态更改 这可以正常工作,但如果我在ROR应用程序中打开TurboLink,则不再触发。 我该如何解决这个问题?
问题内容: 下面的代码有效。如果有更好的方法,请告诉我。如果我使用通过ajax加载test.html的主页中test.html中存在的脚本内容。该脚本不起作用。 Test.html: 我们必须根据需要通过ajax加载脚本以及动态加载的内容,但是我感到不利的是,每次我们发送ajax请求脚本时都会始终加载内容。但是我只找到了这种解决方案。如果有人知道更好的解决方案,请回复。 例如,如果以这种方式更改代