programing

backbone.js - 이벤트, 클릭한 내용 확인

cafebook 2023. 8. 16. 22:37
반응형

backbone.js - 이벤트, 클릭한 내용 확인

backbone.js view 클래스 중 하나에서 다음과 같은 것이 있습니다.

...

events: {
  'click ul#perpage span' : 'perpage'
},

perpage: function() {
  // Access the text of the span that was clicked here
  // Something like: alert($(element).text())
},

...

내 페이지 당 마크업은 다음과 같은 것을 가질 수 있기 때문입니다.

<ul id="perpage">
  <li><span>5</span></li>
  <li><span>10</span></li>
</ul>

그렇다면 사건의 원인이 된 요소에 대한 정보를 정확히 어떻게 찾을 수 있을까요?아니면 이 경우에, 그것이 클릭되었습니까?

일반적으로 이벤트 바인딩에서는$(this)하지만 백본 뷰가 설정되어 있다고 확신합니다.this항상 보기를 참조하므로 다음을 수행하십시오.

perpage: function(ev) {
   alert($(ev.target).text());
}

정말 늦은 편집: 아마도 사용하고 싶을 것입니다.$(ev.currentTarget)아래 Pawlik의 답변에 대한 토론을 참조하십시오.

ev.target오해를 불러일으킬 수 있습니다. 사용해야 합니다.ev.currentTargethttp://www.quirksmode.org/js/events_order.html 에 설명된 바와 같이

원하는 속성을 얻을 수 있습니다.ev로 작동하는.this:

perpage: function(ev) {
        console.log($(ev.target).attr('name'));
}

언급URL : https://stackoverflow.com/questions/5680807/backbone-js-events-knowing-what-was-clicked

반응형