거의 한 달만에 작성하는... (그만큼 공부 안 했다는 의미임.)
코드잇 강의
아주아주 오랜만에 보는 프로퍼티. 예전에 드래그 한 영역의 문자를 클립보드에 자동으로 복사하는 기능을 추가로 구현할 때 사용해 봤다.
늘 애매하게 차이를 인지하고 있던 내용인데 이렇게 확실히 정리할 수 있어서 좋은 기회였다.
e.target.dataset.title
getAttribute에 뭐에 똥싸고 있었는데;e.target.lastElementChild.remove()
(target의 자식 노드 중에 마지막을 골라서 제거하던 바보같은 나...)실습 코드의 모범 답안과 내가 싼 똥을 기록하며 오늘은 여기까지 해야겠다.
const chatBox = document.querySelector('#chat-box');
const input = document.querySelector('#input');
const send = document.querySelector('#send');
function sendMyText() {
const newMessage = input.value;
if (newMessage) {
const div = document.createElement('div');
div.classList.add('bubble', 'my-bubble');
div.innerText = newMessage;
chatBox.append(div);
} else {
alert('메시지를 입력하세요...');
}
input.value = '';
}
send.addEventListener('click', sendMyText);
function sendMyTextByEnter (e) {
if (e.key === 'Enter' && !e.shiftKey) {
sendMyText();
e.preventDefault();
}
}
input.addEventListener('keypress', sendMyTextByEnter);
const chatBox = document.querySelector('#chat-box');
const input = document.querySelector('#input');
const send = document.querySelector('#send');
function sendMyText(e) {
console.log(e.type)
const newMessage = input.value;
if (newMessage) {
if(e.type === 'click' || (e.key === 'Enter') && !e.shiftKey ){
const div = document.createElement('div');
div.classList.add('bubble', 'my-bubble');
div.innerText = newMessage;
chatBox.append(div);
e.preventDefault()
input.value = '';
}
}
else if(e.key === 'Enter' || e.type === 'click'){
alert('메시지를 입력하세요...');
e.preventDefault();
}
}
send.addEventListener('click', sendMyText);
input.addEventListener('keypress', sendMyText)
// 내가 싼 똥...