2017-04-15 76 views
0

我在jquery中编码。我需要在jquery中双击帮助。 div是动态创建的,事情是,我无法找到任何地方如何选择2或3动态创建的div和双击第三个div来改变颜色。总共3个选定的div应该改变颜色。如何更改dinamically创建的div上的颜色通过选择3 div和双击来更改jquery的第三个div上的颜色?

希望有人能帮助MED解决这个问题:)

HTML

<body> 
<div> 
    <label> 
     <input id="numberOfDivs" type="number"> 
    </label> 
    <input id="createBtn" type="button" value="Generate"> 
</div> 

<div id="divWrapper"></div> 

<script src="script/jquery-3.2.0.min.js" type="text/javascript"></script> 
<script src="js/Script.js" type="text/javascript"></script> 

jQuery的

$("#createBtn").click(function(){ 
var counter = 1; 
var values = $("#numberOfDivs").val(); 
for(i = 0; i < values ; i++){ 
    var $div = $("<div>" + counter + "</div>") 
     .css({"width": "50px", "height": "50px","background-color": "red", "margin": "5px", "float": "left" 
    }) 
     .attr({ 
     class: "dClones" 

    $("#divWrapper").append($div); 
    counter++; 
} 

$(".dClones").bind("dblclick", function(){ 
    $(this).css({"background": "purple"}) 
}); 
}); 
+0

分享一些相关的代码 –

+0

刚刚发布我的代码:) –

回答

0

这里是一个切换的一个例子阶级和不苟言笑。

$('body').on('dblclick','.dClones', function() { 
    var me = this; 
    if (!$(me).hasClass('css-double')) { 
    $(me).addClass('css-double'); 
    } else { 
    $(me).removeClass('css-double'); 
    } 
}); 

您只需要使用.on一次,以便它适用于所有动态和静态放置的.dClones。

cLass的替代方法是.css,但您必须知道要添加和还原到的样式。

+0

当我单击一些divs,他们已经改变了他们的颜色,我再次双击div,但这次在没有改变颜色的div。所以这些div在单击时改变颜色,当我双击时应该改变它们的颜色。是否有可能做到这一点? –

+0

您只需要一次更换颜色?所以如果通过双击改变颜色,你希望下一个被双击(没有颜色)成为唯一一个新的颜色? – trevster344

+0

索里为我的英文不好:)。假设我已经生成了12个div并单击了12个div中的3个div。当我双击一个div,我还没有点击它。应该让所有单击三个三位的div都改变它们的颜色并双击一下。 –