2017-04-15 77 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都改變它們的顏色並雙擊一下。 –