ReactJS-附加在元素列表上的点击事件正在触发“;点击“;用于列表中的所有元素
ReactJS - Click event attached on a list of elements is triggering "click" for all elements in the list
我在ul元素下有一组li元素(如下图所示),当我点击任何li元素时,我希望它为它附加一个类名。然而,当我单击任何li元素,所有li元素的点击事件都会被触发,class会附加到所有li元素。
ul
----li onclickEvent
----li onclickEvent
----li onclickEvent
----li onclickEvent
----li onclickEvent
我该怎么解决这个问题?有没有我可以学习的例子?
var k=0;
var children = function(d,clO){
var newClassName = "class1";
if(clO.state.class1){
var variableClassName = newClassName;
}else{
var variableClassName = "";
}
var toggle = function(e){
e.stopPropagation();
e.preventDefault();
clO.setState({class1: !clO.state.class1});
if(clO.state.class1){
variableClassName = newClassName;
}else{
variableClassName = "";
}
};
var span = React.DOM.span({"className":variableClassName, key:"s"+d.s, onClick: toggle },null);
return [span];
};
var parent = function(d,clO,inv){
k = k+1;
var l = [];
for(var i=0; i<d.length;i++){
l.push(React.DOM.li({key:"ul_"+k+"li_"+i}, children(d[i], clO)));
}
if(inv){
return React.DOM.ul({key:k, "className":"invisible"}, l);
}else{
return React.DOM.ul({key:k}, l);
}
};
var cl = React.createClass({
getInitialState: function() {
return {class1: true};
},
render:function(){
var obj = parent(this.props.storage, this);
return obj;
}
});
使用onClick={this.functionName}
而不是onclick={this.functionName()}
相关文章:
- 如何附加<ul><李>元素位于某个特定条件的父元素列表之间
- 在元素列表中搜索给定字符串
- 生成ACF标记位置的数组(元素列表后缺少])
- 如何删除元素列表中的类并添加到另一个元素 Jquery.
- 什么'这是ES6中制作重复元素列表的等效方法
- jQuery单击并显示元素列表
- 如何在元素列表上使用jquery选择器
- 如何使用 Cycle.js 创建动态、重复的元素列表
- dc.js:如何在对象元素列表上减少计数
- 语法错误:使用 setInterval 时元素列表后缺少 ]
- 错误:火狐在元素列表后给我“缺少]”
- 使用字符串元素列表作为 Select2 组件的源
- 使用 jQuery 从元素列表创建特定属性的数组
- document.createElement();是否有我可以创建的元素列表
- 断言元素列表遵循带有 JavaScript 承诺的规则
- 在 jquery 中动态创建元素列表的最佳实践
- 如何使用 .nextUntil 将两个不同的类添加到
元素列表中
- 如何将一个元素列表移动到另一个性能最佳的元素中
- Javascript - 缺少 ] 在元素列表之后
- jquery中的li元素列表