2012-05-16 34 views
5

tôi đang làm việc trên đường ray 3.2 và sử dụng coffeescript quá .. Tôi có một nghi ngờ trong việc sử dụng jquery thoại di động bên trong ứng dụng của tôi Tôi có một html nhưBinding sự kiện click trong jquery coffeescript

<a href="#" data-item=12 data-status=true class="follow"> 
    <span class="ui-btn-inner"> 
    <span class="ui-btn-text"> 
     Follow 
    </span> 
    </span> 
</a> 

Trong coffeescript của tôi, tôi đang cố gắng để viết chức năng trên nhấp vào này Follow, tôi đang cố gắng để gửi một cuộc gọi ajax.

khi tôi đã viết như

$("a.follow").unbind('click').bind 'click', (event, data) -> 
     event.stopPropagation() 
     clickedEl = $(event.target) 
     console.log(clickedEl) 

console.log in trải rộng với lớp "ui-BTN-text" vào những thời điểm và khoảng thời gian với "ui-BTN-nội" vào những thời điểm.

Nhưng trong chức năng coffeescript của mình, tôi cần thực sự lấy thuộc tính từ thẻ. Làm thế nào để tiếp tục với điều này

Trả lời

10

Bạn có thể sử dụng event.currentTarget thay vì event.target:

Yếu tố DOM hiện trong giai đoạn bọt sự kiện.

Demo: http://jsfiddle.net/ambiguous/gdzUC/

Hoặc event.delegateTarget:

Yếu tố nơi hiện gọi là xử lý sự kiện jQuery được đính kèm.

Demo: http://jsfiddle.net/ambiguous/UhBWM/

Bạn cũng có thể sử dụng closest:

clickedEl = $(this).closest('a') 

Demo:

Giá trị event.target là:

DOM eleme nt đã bắt đầu sự kiện.

Nói cách khác, đó là điều thực sự được nhấp vào. currentTargetdelegateTarget sẽ là điều mà sự kiện được ràng buộc. Sử dụng closest có thể quá mức cần thiết cho điều này, bạn thường sử dụng điều đó để chuyển DOM lên vùng chứa chứa một số mục mà bạn đang tương tác.

+0

Cảm ơn, e.currentTarget đã làm việc cho tôi. – hallodom

-1

Bạn có thể sử dụng jQuery để luôn nhận được phần tử liên kết, sau đó bạn có một tham chiếu để làm việc từ nếu bạn cần thông tin từ các nhịp chứa.

... 
    clickedEl = $(event.target) 
    parentLink = clickedEl.parentsUntil $("a.follow") 
    console.log(parentLink) 
+0

ah, bạn nói đúng, cha mẹUntil không bao gồm yếu tố phù hợp. gần nhất là chức năng phù hợp để sử dụng. – francpaul

Các vấn đề liên quan