Tôi có cấu trúc sau.jquery lồng nhau li nhấp vào cuộc gọi sự kiện nhiều lần
<ul id="browser" class="filetree">
<li><span class="folder">Folder 1</span>
<ul>
<li><span class="file">Item 1.1</span></li>
</ul>
</li>
<li><span class="folder">Folder 2</span>
<ul>
<li><span class="folder">Subfolder 2.1</span>
<ul id="folder21">
<li><span class="file">File 2.1.1</span></li>
<li><span class="file">File 2.1.2</span></li>
</ul>
</li>
<li><span class="file">File 2.2</span></li>
</ul>
</li>
<li class="closed"><span class="folder">Folder 3 (closed at start)</span>
<ul>
<li><span class="file">File 3.1</span></li>
</ul>
</li>
<li><span class="file">File 4</span></li>
</ul>
Trong js Tôi có chức năng sau.
$("#browser li").click(function(){
});
Khi tôi nhấp vào li Tệp 2.1.1. Chức năng gọi 3 lần
lần đầu tiên cho li file 2.1.1, lần thứ hai cho li Subfolder 2.1 và lần thứ ba cho li thư mục 2.
bất cứ ai có thể cho tôi giải pháp để gọi hàm đúng một lần?
Trợ giúp của bạn được đánh giá cao. Cảm ơn.
đúng của bạn trong #browser mà> li là con trực tiếp của #browser nhưng điều đó sẽ có nghĩa là bất kỳ #browser> li> li wouldnt được gọi là? – AbstractChaos
@AbstractChaos chính xác, nhưng tất cả các 'li' khác nằm bên trong một con trực tiếp của' # browser' – Neal
nhưng sau đó nếu ví dụ OP không nhấp vào tệp.2.1.1 là $ browser> li> li> li sau đó nó sẽ không cháy ?, bạn sẽ bắt nó tại bong bóng lên tho tôi đoán. phụ thuộc vào yêu cầu về tính hữu dụng của số – AbstractChaos