$(document).ready(() => {
var observer = new MutationObserver(mutations => {
var ArcaconSearcher = $(mutations[0].target).parent().find(".ArcaconSearcher");
if(!ArcaconSearcher.prop("active")) {
activateSearcher(ArcaconSearcher);
} else {
deactivateSearcher(ArcaconSearcher);
}
});
const obsConfig = {
attributes: true
};
var fakeClick = false;
$(document).on("click", ".btn-namlacon", function(e) {
if(e.target.className == "ArcaconSearcher") {
fakeClick = true;
this.click();
return;
}
if(fakeClick) {
fakeClick = false;
return;
}
var ArcaconSearcher = $(this).find(".ArcaconSearcher");
if(!ArcaconSearcher.length) {
var conTainer = $(this).parent().parent().parent().find(".namlacon").get(0);
observer.observe(conTainer, obsConfig);
var input = document.createElement("input");
input.className = "ArcaconSearcher";
input.placeholder = "아카콘 검색하기";
$(this).prepend($(input))
.ready(() => {
activateSearcher($(input));
});
}
});
});
function activateSearcher(target) {
target.prop("active", true);
target.css("opacity", "1");
target.css("width", "200px");
target.css("margin-right", "10px");
target.css("border-width", "2px");
}
function deactivateSearcher(target) {
target.prop("active", false);
target.css("opacity", "0");
target.css("width", "0");
target.css("margin-right", "0");
target.css("border-width", "0");
}
근데 코드가 겁나 더럽게 나왔어요
input을 버튼 안에 넣어야 제가 원하는 모양이 나와서 저렇게 어거지로 만들어봤는데 ㅋㅋㅋㅋ
그리고 아카콘 클릭해서 댓글 달때는 click 이벤트 감지가 아예 안되네요... 이거때문에 복잡해짐