내가 뭘하고 싶은데요 DOM 요소의 특정 집합에 대한 클릭 이벤트를 설정합니다.클릭 된 요소 저장 및 다른 개체에서 액세스
나중에 어떤 정보를 검색해야 할 수도 있으므로 어떤 요소를 클릭했는지 기억하고 싶습니다.
가능한 경우 다른 JS 개체에서 액세스 할 수 있기를 원합니다. 다음은
는
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<button>
Which have you clicked on?
</button>
<script>
var listItem = {
elementHandle: $('li'),
instanceClicked: '',
bindEventHandlers: function(){
$(this.elementHandle).click(this.alertTheContent);
},
alertTheContent: function(){
this.instanceClicked = $(this);
alert(this.instanceClicked.html());
}
}
var button = {
elementHandle: $('button'),
bindEventHandlers: function(){
$(this.elementHandle).click(this.showListItemClicked);
},
showListItemClicked: function(){
console.log(listItem.instanceClicked);
}
}
listItem.bindEventHandlers();
button.bindEventHandlers();
</script>
내가 가까이 오전하지만 showClickedItem() 함수의 콘솔 로그 ''를 반환 생각 ... 내가 지금까지있는 것입니다. 처음에 listItem 객체를 만들 때처럼.
찾아주세요 여기에 바이올린 this
이 li
하지 listItem
alertTheContent: function(){
listItem.instanceClicked = $(this);
alert(listItem.instanceClicked.html());
}
DEMO 즉 클릭 핸들러를 호출 현재 요소 컨텍스트를 참조로 당신은 alertTheContent
기능에 listItem
대신 this
를 사용할 필요가 https://jsfiddle.net/rbfaxw12/
Onclick 왜 요소에 클래스를 추가하지 마십시오. 그래서 앞으로는 해당 클래스를 사용하여 특정 클릭 된 DOM의 가치를 얻을 수 있습니다. – Samir