Tôi có một số đánh dấu như thế này (các lớp học chỉ dành cho phụ diển):đoàn sự kiện vs trực tiếp ràng buộc khi thêm các yếu tố phức tạp đến một trang
<ol id="root" class="sortable">
<li>
<header class="show-after-collapse">Top-Line Info</header>
<section class="hide-after-collapse">
<ol class="sortable-connected">
<li>
<header class="show-after-collapse">Top-Line Info</header>
<section class="hide-after-collapse">
<div>Content A</div>
</section>
</li>
</ol>
</section>
</li>
<li>
<header/>
<section class="hide-after-collapse">
<ol class="sortable-connected">
<li>
<header/>
<section class="hide-after-collapse">
<div>Content B</div>
</section>
</li>
</ol>
</section>
</li>
</ol>
Đó là, lồng danh sách sắp xếp. Tuy nhiên, plugin có thể sắp xếp đủ điều kiện vì mỗi li (sau đây là "mục") duy trì mức của nó, mặc dù các danh sách bên trong được kết nối. Các mục có tiêu đề luôn hiển thị và một phần hiển thị khi ở trạng thái mở rộng, được chuyển đổi bằng cách nhấp vào tiêu đề. Người dùng có thể thêm và xóa các mục từ cấp độ theo ý muốn; việc thêm một mục cấp cao nhất sẽ bao gồm một danh sách tổ trống bên trong nó. Câu hỏi của tôi là liên quan đến JS khởi của mặt hàng đó mới được tạo ra với: Trong khi họ sẽ chia sẻ một số chức năng thông thường, mà tôi có thể trang trải qua
$("#root").on("click", "li > header", function() {
$(this).parent().toggleClass("collapsed");
});
và
li.collapsed section {
display: none;
}
(câu hỏi phụ: đây sẽ là một nơi thích hợp để sử dụng chi tiết/tóm tắt các thẻ HTML5? Có vẻ như tôi không biết liệu những người đó có thể đưa nó vào thông số cuối cùng hay không, và tôi muốn chuyển đổi trượt, vì vậy có vẻ như tôi cũng cần JS cho điều đó. ném câu hỏi đến công chúng. Xin chào, quần chúng.)
Nếu danh sách gốc là phần tử duy nhất (có liên quan) được đảm bảo tồn tại khi tải trang, để .on() hoạt động hiệu quả, tôi phải liên kết tất cả các sự kiện với phần tử đó và đánh vần bộ chọn chính xác cho mỗi phần tử Tôi hiểu rôi. Vì vậy, ví dụ, để buộc các chức năng riêng biệt với hai nút ngay bên cạnh nhau, tôi phải đánh vần bộ chọn đầy đủ mỗi lần, & agrave; la
$("#root").on("change", "li > section button.b1", function() {
b1Function();
}).on("change", "li > section button.b2", function() {
b2Function();
});
Điều đó có chính xác không? Đó là trường hợp, nó có ý nghĩa hơn để từ bỏ .on() và ràng buộc các sự kiện của tôi tại thời điểm mục mới được thêm vào trang? Tổng số mặt hàng có thể sẽ có số lượng lớn nhất trong hàng chục, nếu điều đó tạo ra sự khác biệt trong phản hồi.
+1, tôi muốn xem phản hồi chi tiết có thể phác thảo những cân nhắc về hiệu suất. – jondavidjohn
Trong quan điểm của tôi, một trong hai cách tiếp cận sẽ là tốt nếu bạn biết rằng giới hạn trên là nhiều nhất là hàng chục. Nhưng tôi chắc rằng bạn biết đôi khi những điều này có một cách để phát triển theo thời gian ... – nnnnnn
Sẽ có hàng tá yếu tố trong tổng số hay có thể có hàng chục loại đơn nguyên tố?Trong ví dụ của bạn 'button.b2', sẽ có một trong số này hoặc có khả năng là hàng chục? –