2011-06-18 38 views
18

Tôi đang sử dụng Rails3 làm chương trình phụ trợ của mình và Jammit to asset ... Bây giờ tôi đang cố gắng không nén và thậm chí đóng gói các asstes.Sự kiện Chế độ xem xương sống không kích hoạt

Sự kiện đơn giản không chạy, nhưng cảnh báo ('asd') int inialize đang hoạt động như mong đợi.

Tôi cũng đã thử các loại sự kiện khác trong các đối tượng khác, nhưng nó không hoạt động.

Mã của tôi như sau:

và RUBY HTML của tôi:

<%= text_field 'search', :isbn_or_isbn10_or_publisher_or_authors_or_name_like, :id => 'product_finder' %> ou 
<%= link_to 'criar um produto', '', :id => 'new_product_link' %>. 

mà tạo ra này:

<label>Adicionar</label> 
<input id="product_finder" class="ui-autocomplete-input" type="text" size="30" name="search[isbn_or_isbn10_or_publisher_or_authors_or_name_like]" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true"> 
ou 
<a id="new_product_link" href="">criar um produto</a> 

Trả lời

57

xem Backbone xảy ra trong bối cảnh của một phần tử. Để mã này hoạt động, bạn phải gán phần tử đó cho Chế độ xem tại thời điểm xây dựng như sau:

var InvoiceStock = Backbone.View.extend({ 
    el: $('#product_finder').parent() 

... 

Hoặc gán cho el đối tượng DOM cụ thể có chứa công cụ tìm sản phẩm. Thay vào đó, bạn có thể tạo phần tử động và sử dụng jQuery để đính kèm nó vào DOM của bạn. Tôi đã sử dụng cả hai.

Backbone sử dụng ủy nhiệm jQuery để chỉ định và bối cảnh hóa các sự kiện của nó. NẾU bạn không chỉ định phần tử gốc cho toàn bộ khung nhìn, Backbone không gán đúng trình quản lý sự kiện.

+1

Đã hoạt động. Cảm ơn bạn;) – pedrofs

+0

Rất tiếc, đã được chấp nhận ngay bây giờ! – pedrofs

+2

FYI: Khai báo $ el trong hàm khởi tạo của khung nhìn là OK. – Fatmuemoo

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