function clickMe(e){
//e is the event
}
<button onClick={this.clickMe}></button>
Run Code Online (Sandbox Code Playgroud)
function clickMe(parameter){
//how to get the "e" ?
}
<button onClick={() => this.clickMe(someparameter)}></button>
Run Code Online (Sandbox Code Playgroud)
我想得到event.我怎么才能得到它?
从 php 我返回这个 html
PHP
$str = "Hello World";
echo json_encode("returnval"=>format_string($str));
function format_string($str){
return "<b>".$str."</b>";
}
Run Code Online (Sandbox Code Playgroud)
反应 JSX
render () => {
//returnval = html string returned from php
return (
<div>
{returnval}
<div>
<span>Some data</span>
</div>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
上面的内容打印<b>Hello World</b>为文本。
但我希望执行html 标签(在本例中为粗体)
由于某些原因,我无法format_string在 jsx 中编写该函数,有什么办法可以解决这个问题吗?
https://jsbin.com/diyenakife/edit?html,js,output
JSX
let MY = React.createClass({
sendMsg : function(e){
alert($(e.target).attr('data-id'));
//sendMsgButton = ??
},
render: function() {
return (
<button is class = "send_msg"
data-id = "10"
onClick = {
this.sendMsg
} >
Send Message
<span> INSIDE SPAN </span> <span className = "sendMsgIcon" > ICON </span> </button>
);
}
});
ReactDOM.render(
<MY />,
document.getElementById("container")
);
Run Code Online (Sandbox Code Playgroud)
每当我点击按钮sendMsg我想要按钮元素内部sendMsg功能.
但是每当我点击按钮的span或child元素时,都会e.target 返回span/child元素而不是按钮本身(我知道这就是e.target的作用)
但是我如何获得被点击的元素?
在Jquery中可能使用它
$('.sendMsg').click(function(){
let sendMsgButton = $(this);
});
Run Code Online (Sandbox Code Playgroud)
我如何得到确切的元素?