티스토리 뷰
<tr onclick="loadForm('modify', '<?=$row['num']?>');">
<td class="text-center"><?= $start_num ?></td>
<td class="text-center"><?= $row['reg_date'] ?></td>
<td class="text-center"><?= $row['box_width'] ?> X <?= $row['box_height'] ?> </td>
<td class="text-center fw-bold text-success"><?= $row['check_type'] ?></td>
<td class="text-center"><?= $row['front_bottom_width'] ?></td>
<td class="text-center"><?= $row['rail_width'] ?></td>
<td class="text-center"> <span class="badge bg-dark"> 전개 보기 </span> </td>
<td class="text-center"><?= $row['author'] ?></td>
<td class="text-start"><?= $row['remark'] ?></td>
</tr>
위의 코드에서 전개 보기를 누르면 다른게 onclick되게 하려면 어떤게 가장 좋은 코드인가?
위의 코드에서 "전개 보기" 버튼을 클릭했을 때 다른 기능이 동작하도록 하려면, 이벤트 버블링을 막아야 합니다. 이를 위해 "전개 보기" 버튼의 클릭 이벤트를 따로 정의하고, 해당 이벤트가 발생했을 때만 특정 함수가 실행되도록 할 수 있습니다.
아래는 이를 구현한 예시 코드입니다:
<tr onclick="loadForm('modify', '<?=$row['num']?>');">
<td class="text-center"><?= $start_num ?></td>
<td class="text-center"><?= $row['reg_date'] ?></td>
<td class="text-center"><?= $row['box_width'] ?> X <?= $row['box_height'] ?> </td>
<td class="text-center fw-bold text-success"><?= $row['check_type'] ?></td>
<td class="text-center"><?= $row['front_bottom_width'] ?></td>
<td class="text-center"><?= $row['rail_width'] ?></td>
<td class="text-center">
<span class="badge bg-dark" onclick="viewUnfold(event, '<?=$row['num']?>');"> 전개 보기 </span>
</td>
<td class="text-center"><?= $row['author'] ?></td>
<td class="text-start"><?= $row['remark'] ?></td>
</tr>
JavaScript 코드 추가:
function viewUnfold(event, num) {
// 이벤트 버블링을 막아, 부모 요소의 onclick 이벤트가 실행되지 않게 합니다.
event.stopPropagation();
// 여기서 전개 보기를 위한 기능을 수행합니다.
console.log('전개 보기 클릭됨, num:', num);
// 원하는 기능을 추가하세요. 예: 모달 열기, 새로운 페이지로 이동 등
}
설명:
onclick="loadForm('modify', '<?=$row['num']?>');": <tr> 요소 전체에 대한 클릭 이벤트입니다. loadForm 함수가 호출됩니다.
event.stopPropagation();: 이벤트 버블링을 막기 위해 사용됩니다. 이로 인해 "전개 보기" 버튼을 클릭했을 때는 부모의 onclick 이벤트가 실행되지 않습니다.
viewUnfold(event, '<?=$row['num']?>');: "전개 보기" 버튼에 대한 클릭 이벤트입니다. 이 버튼을 클릭했을 때만 viewUnfold 함수가 실행됩니다.
이 구조를 사용하면 "전개 보기" 버튼 클릭 시에는 해당 버튼의 기능만 동작하게 할 수 있습니다. 다른 <tr> 클릭 시 loadForm 함수가 호출되는 동작은 여전히 유지됩니다.
'IT tech Coding > php' 카테고리의 다른 글
서버의 www 폴더에 .htaccess 어떤 내용으로 세션시간을 늘리는가? (0) | 2024.11.04 |
---|---|
ajax로 서버에 저장할때 자료의 삽입시 마지막 레코드 번호 가져오기 $num = $pdo->lastInsertId(); (0) | 2024.09.29 |
PHP 7.3에서는 공식적으로 PhpSpreadsheet 라이브러리를 사용할 수 없습니다. (0) | 2024.09.25 |
[php] 01, 02, ... 12 이런 형태로 앞에 0을 채우는 php 코드는? (0) | 2024.09.10 |
회계관련 프로그램 개발시 공급가액, 부가세, 금액에 대해 소수점 문제 연구 (0) | 2024.09.05 |
- Total
- Today
- Yesterday
- General error: 2031
- 구글드라이브API
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 코딩효율성
- 테크에능한여성
- 효율적코딩방법
- 엑셀셀보호
- isset을 적용해야 하는 이유
- 프로그래머생활
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 스크립트작성기초
- 도면자동생성
- 오블완
- 뫄프로그래밍
- Bootstrap 5
- #프로그램설치
- 캐드자동작도
- 오토핫키가이드
- #InstallForge
- ajax오류메시지
- #파이썬패키징
- 티스토리챌린지
- 엑셀보호
- 파이썬코드줄바꿈방법
- chatGPT3.5파이썬버전
- sql문장 날짜계산
- json파일편하게보는법
- json파일형태보기
- 엑셀입력보호
- 코딩튜토리얼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |