我正在創建一個Facebook風格的「你在想什麼?」切換輸入框。我接近它的方式是點擊和模糊組合。點擊一個輸入框會自動展開容器div並顯示一些元素。這工作正常。但是,我很難做到這一點,以便當焦點離開容器div的每個子元素時,它將返回它被切換(更小的div和隱藏的子元素)狀態。jQuery:如何將.blur應用於div的每個*子元素而不是div的任何*子元素?
如果我只是做「#容器DIV> *」,對於.blur,該.blur將觸發任何時候任何子元素失去焦點,而不是在每一個子元素失去焦點(重點是不再在容器div的任何子元素上)。我嘗試更改$(「#create-community> *」)。blur to $(「*」).not(「#create-community> *」)。blur,但這不起作用無論是。
有什麼建議嗎?
$("#create > *").click(function() {
$(".expand").addClass("expand-expand");
$(".expand-expand").removeClass("expand");
$("#create").addClass("create-expand");
$("#create").removeClass("create");
$(".write-title").addClass("write-title-expand");
$(".write-title-expand").removeClass("write-title");
$(".summary").addClass("summary-expand");
$(".summary-expand").removeClass("summary");
$(".input").addClass("input-expand");
$(".input-expand").removeClass("input");
$(".submit").addClass("submit-expand");
$(".submit-expand").removeClass("submit");
$(".name").attr("value", "");
});
$("#create > *").blur(function() {
$(".expand-expand").addClass("expand");
$(".expand").removeClass("expand-expand");
$("#create").addClass("create");
$("#create").removeClass("create-expand");
$(".write-title-expand").addClass("write-title");
$(".write-title").removeClass("write-title-expand");
$(".summary-expand").addClass("summary");
$(".summary").removeClass("summary-expand");
$(".input-expand").addClass("input");
$(".input").removeClass("input-expand");
$(".submit-expand").addClass("submit");
$(".submit").removeClass("submit-expand");
$("#name").attr("value", "write something...");
});