Tôi đang cố gắng tạo chỉ thị để cho phép người dùng điều hướng trang bằng các phím mũi tên theo phần. Nhưng tôi cũng muốn để có thể có những phần được rải rác xung quanh dom, và để có điều này không phá vỡ khi công cụ được thêm vào và gỡ bỏ. Tôi có thể nghĩ ra một số cách để thực hiện việc này, nhưng không có cách nào trong số đó là thỏa đáng:Angularjs: Tìm tất cả các trường hợp của chỉ thị
Tạo chỉ thị với bộ điều khiển cho phép các chỉ thị khác tự đăng ký (và hủy đăng ký hủy $). Nhưng điều này sẽ hết trật tự nếu tôi thêm thứ gì đó vào giữa lúc sau. Ngoài ra, tôi đã cố gắng viết nó theo cách này, và nó có vẻ như cách mã nhiều hơn cần thiết.
Bất cứ khi nào người dùng nhấn phím mũi tên, tạo một mảng trống và $ phát một sự kiện, với lời gọi lại để chỉ thị đăng ký trên danh sách đó. Sau đó, khi danh sách đó đầy, hãy tiến lên hoặc lùi lại trên danh sách đó. Họ (nên?) Trở lại theo thứ tự họ đang ở trên DOM, nhưng tôi không chắc chắn vì cách này có vẻ điên rồ và hung dữ.
Đánh dấu những thứ có 'tabbable' bằng css và viết một cách đơn giản trong jquery, như sau: Trên sự kiện nhấp chuột mới,
var all = $('.tabbable')
và sau đó làm rõ ràng với điều đó. Nhưng tôi thực sự không muốn làm theo cách đó, bởi vì nó không phải là 'góc cạnh'. Không phải vì một số ý nghĩa thuần khiết, nhưng bởi vì tôi đang xây dựng nó như một phần của một thư viện vật dụng lớn hơn, và tôi muốn chức năng này có thể truy cập được với chúng.
Vì vậy, có cách nào để tôi có được phạm vi của tất cả các chỉ thị của một loại nhất định, mà không phải dùng đến các hacks lạ hoặc truyền logic ra khắp nơi?
Bất kỳ đề xuất nào để xử lý thứ tự của mảng đó khi chúng bị xáo trộn xung quanh? – doubledriscoll
Tôi nghĩ rằng tôi cần phải hiểu các yêu cầu tốt hơn một chút trước khi tôi đưa ra một gợi ý. Bạn có muốn thứ bậc phân cấp, thứ tự thời gian liên quan đến chèn DOM, v.v. không? –