在反应js ES6中,onclick
ul
li
a
个事件
<ul id="profiles">
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
<li><a href="" onclick="this.getValue('parameter')">Some Text</a></li>
</ul>
以上代码在点击时工作正常。但在身体负载上我想触发一个li链接的click事件。
我用于触发点击事件的代码是:
$("#profiles li:nth-child(2) a").click();
但上面写的jquery代码事件没有触发,请帮助我如何获取<li><a> </a></li>
答案 0 :(得分:0)
假设getValue的paramter
断言点击了哪个li's anchor
元素,您可以直接在getValue
函数中调用componentDidMount
函数,如
componentDidMount() {
this.getvalues('Second li');
}
由于你使用的是ES6,你可以调用ES6风格的react onClick
函数,如
<ul id="profiles">
<li><a href="" onclick={this.getValue.bind(this,'parameter')}>Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')}">Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')}">Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')}">Some Text</a></li>
</ul>
如果你想坚持使用Jquery,你需要获得DOMNode
之类的
$(ReactDOM.findDOMNode(this.myRefs[2])).click();
DOM
<ul id="profiles">
<li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[0] = inp}>Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[1] = inp}>Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[2] = inp}>Some Text</a></li>
<li><a href="" onclick={this.getValue.bind(this,'parameter')} ref={(inp) => this.myRefs[3] = inp}>Some Text</a></li>
</ul>