반응형
backbone.js-이벤트, 클릭 된 항목 파악
내 backbone.js 뷰 클래스 중 하나에 다음과 같은 것이 있습니다.
...
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)
하지만 Backbone 뷰가 this
항상 뷰를 참조 하도록 설정되어 있다고 확신 하므로 다음을 시도하십시오.
perpage: function(ev) {
alert($(ev.target).text());
}
정말 늦은 편집 : 아마 $(ev.currentTarget)
. 아래 pawlik의 답변에 대한 토론을 참조하십시오.
ev.target
오해의 소지가 있으므로 http://www.quirksmode.org/js/events_order.html에ev.currentTarget
설명 된대로 사용해야합니다 .
원하는 속성을 얻을 수 있습니다. ev
다음과 같이 작동합니다 this
.
perpage: function(ev) {
console.log($(ev.target).attr('name'));
}
참고 URL : https://stackoverflow.com/questions/5680807/backbone-js-events-knowing-what-was-clicked
반응형
'IT story' 카테고리의 다른 글
Git rebase가 실패하고 '다음 파일에 대한 로컬 변경 사항을 병합으로 덮어 씁니다'. (0) | 2020.08.24 |
---|---|
배포 파일과 함께 npm 패키지를 게시하는 방법은 무엇입니까? (0) | 2020.08.24 |
rspec에서 테스트 그룹을 비활성화 하시겠습니까? (0) | 2020.08.24 |
PHP 배열 색인 재설정 (0) | 2020.08.24 |
python-pandas 및 mysql과 같은 데이터베이스 (0) | 2020.08.24 |