【发布时间】:2015-09-28 11:53:26
【问题描述】:
我目前正在测试,但有一个无法解决的问题。我基本上想在单击它之前从 div.btn 更改 onClick 值。 javascript 代码位于 react.js 中,可以使用 here。我想改变的部分在这里:
React.createElement("div", {className: "img"},
React.createElement("div", {className: "btn noShadow", onClick: this.sendVote.bind(this, this.props.data.candidate1.id)}, this.props.data.translations.vote),
React.createElement("img", {src: domain + this.props.data.candidate1.img_challenge_url, onClick: this.sendVote.bind(this, this.props.data.candidate1.id)})
),
我正在尝试将值从 div.btn.noShadow 设置为“12345”,通常我会在 Tampermonkey 中执行以下操作:
$("#div.content > div.left > div.img > div.btn.noShadow").attr("onclick", "sendVote(12345)")
但这似乎不起作用,因为 react.js 改变了 DOM。我对此很陌生,不知道如何实现这一点。
【问题讨论】:
-
您是否尝试过将 onClick 作为道具从父母传递给孩子?这样,父母就可以控制onClick应该是什么。
-
不,因为我真的不知道该怎么做:/
-
那么,您究竟什么时候需要更改 onClick?您刚刚说“在单击 div.btn 之前”,但这与任何事件都不对应。如果您有一个实际事件(onChange 等),那么在该事件处理程序中,您可以使用 setState 更改 onClick。
标签: javascript jquery html reactjs