반응형
이벤트에서 jQuery를 사용하여 클릭한 요소를 가져오시겠습니까?
다음 코드를 사용하여 동적으로 생성된 버튼을 클릭할 때 감지합니다.
$(document).on("click",".appDetails", function () {
alert("test");
});
일반적으로, 만약 당신이 방금 했다면.$('.appDetails').click()
당신은 사용할 수 있습니다.$(this)
클릭한 요소를 가져옵니다.위의 코드로 이 작업을 수행하려면 어떻게 해야 합니까?
예를 들어:
$(document).on("click",".appDetails", function () {
var clickedBtnID = ??????
alert('you clicked on button #' + clickedBtnID);
});
가능한 한 간단합니다.
사용하다$(this)
여기서도
$(document).on("click",".appDetails", function () {
var clickedBtnID = $(this).attr('id'); // or var clickedBtnID = this.id
alert('you clicked on button #' + clickedBtnID);
});
함수에 이벤트 매개 변수가 없습니다.
$(document).on("click",".appDetails", function (event) {
alert(event.target.id);
});
이 문제를 처리하는 일반적인 방법은 ES6에서 제대로 작동하지 않습니다.대신 다음 작업을 수행할 수 있습니다.
$('.delete').on('click', event => {
const clickedElement = $(event.target);
this.delete(clickedElement.data('id'));
});
이벤트 대상은 클릭한 요소가 되며, 원하는 요소가 아닐 수 있습니다(이벤트를 받은 하위 요소일 수 있음).실제 요소를 가져오는 방법
$('.delete').on('click', event => {
const clickedElement = $(event.target);
const targetElement = clickedElement.closest('.delete');
this.delete(targetElement.data('id'));
});
그렇게 할 수 있는 방법은 여러 가지가 있습니다.
첫 번째 방법은 자바스크립트 대상을 사용하는 것입니다.
$(document).on("click",".appDetails", function (event) {
var clickebtn = target.event.id;
});
$(".masonry__img").click((e) => {
console.log(e.currentTarget.currentSrc);
});
클래스 masonry__img가 있는 각 이미지에 onClick 처리기를 추가합니다.
간단한 방법은 데이터 속성을 HTML 태그로 전달하는 것입니다.
예:
<div data-id='tagid' class="clickElem"></div>
<script>
$(document).on("click",".appDetails", function () {
var clickedBtnID = $(this).attr('data');
alert('you clicked on button #' + clickedBtnID);
});
</script>
언급URL : https://stackoverflow.com/questions/16091823/get-clicked-element-using-jquery-on-event
반응형
'programing' 카테고리의 다른 글
마지막 3자리 순서로 주문 (0) | 2023.08.14 |
---|---|
Ajax 응답 로드 상태를 백분율로 표시하는 방법은 무엇입니까? (0) | 2023.08.14 |
Android 화면의 비디오 캡처 (0) | 2023.08.14 |
아이폰 앱을 위한 미리 만들어진 달력 컨트롤이 있나요? (0) | 2023.08.09 |
Visual Studio 2013에서 프로젝트 포트 번호 변경 (0) | 2023.08.09 |