Tôi có một danh sách các outerItems. Bên trong mỗi outerItem, tôi có một danh sách các innerItems. Chúng được sắp xếp động.Làm cách nào để nhận phần tử dom phạm vi hiện tại trong bộ điều khiển AngularJS?
Khi con trỏ chuột trỏ vào một trong các mục bên trong, tôi phải hiển thị cửa sổ bật lên ngay phía trên phần tử innerItem đó.
div Popup là con của cơ thể, bởi vì tôi không muốn có một cửa sổ bật lên riêng biệt cho mỗi innerItems.
Cách tôi xem - trên ng-mouseover
Tôi gọi chức năng đặt thuộc tính bên trái/trên cùng cho cửa sổ bật lên hoàn toàn có vị trí của tôi. Vì vậy, đối với mỗi innerItems tôi muốn gọi phương thức jQuery .offset()
cung cấp cho tôi các giá trị trái/trên cùng từ góc trên cùng bên trái của trang.
Vậy làm thế nào tôi có thể lấy đối tượng jQuery của phần tử phạm vi hiện tại? Hoặc, nếu tôi đã chọn con đường sai
bạn đã chọn sai đường. Dont EVER truy cập phần tử $ trong bộ điều khiển. Bạn cần phải bọc này như là một chỉ thị Popup và sau đó đặt trong cửa sổ bật lên trong HTML của bạn. – ganaraj
Tại sao sai khi truy cập phần tử $ trong bộ điều khiển? –
Nó đi ngược lại câu thần chú không-dom-manipulation-in-the-controller. Giữ mã được tách riêng, cho phép kiểm tra dễ dàng hơn và giữ tất cả các mã thao tác mã dom và trong các mẫu. Điều đó đang được nói, đôi khi bạn cần yếu tố. Ví dụ, trình duyệt tự động hoàn thành các trường, điền vào các đầu vào nhưng không kích hoạt cập nhật ng_model. Trong những trường hợp đó, bạn phải trả $ (el) .val() đầu vào. – hurshagrawal