2009-10-12 30 views
18

Sử dụng thư viện giao diện người dùng jQuery có thể chọn(). Các liên kết trong các mục danh sách có thể chọn không được theo dõi khi nhấp chuột, chỉ bằng cách nhấp chuột phải và mở trong cửa sổ hoặc tab mới.Có thể chọn giao diện người dùng jQuery, các liên kết không được theo dõi khi nhấp vào

HTML

<ul class="selectable-list"> 
    <li> 
     <p>Visit Google.</p> 
     <a href="http://www.google.com">Google</a> 
    </li> 
    <li> 
     <p>Visit Apple.</p> 
     <a href="http://www.apple.com">Apple</a> 
    </li> 
    <li> 
     <p>Visit Microsoft.</p> 
     <a href="http://www.microsoft.com">Microsoft</a> 
    </li> 
</ul> 

CSS

.selectable-list li.ui-selected, .selectable-list li.ui-selected:hover { 
    background-color: #ccc; 
} 

JS

$(document).ready(function(){ 

    $(".selectable-list").selectable(); 

}); 

Trả lời

35

Phương thức có thể chọn() có một tùy chọn được gọi là cancel. Theo mặc định, nó là ": đầu vào, tùy chọn", nhưng bạn có thể sử dụng nó để làm cho neo của bạn không thể áp dụng cho sự kiện có thể chọn.

Đối với mã của bạn:

$(document).ready(function() { 
    $(".selectable-list").selectable({ 
     cancel: 'a' 
    }); 
}); 
+0

Tôi có thể tiếp tục lựa chọn sau khi tôi nhận được liên kết mong muốn không? – windsound

+0

Oh người đàn ông, bạn chỉ cần tiết kiệm cho tôi giờ mã hóa. Cảm ơn bạn! – Slavic

+2

Tôi đã bỏ phiếu này. Nhưng sau đó tìm ra các tùy chọn chậm trễ là tốt hơn cho trường hợp sử dụng của tôi. http://api.jqueryui.com/selectable/#option-delay – Doug

1

Có thể lựa chọn được trọng sự kiện nhấp chuột của bạn trên href. Có thể bạn sẽ phải thêm lại chức năng điều hướng.

Tuy nhiên, điều đó có vẻ như hành vi kỳ quặc mà bạn đang quay. Tại sao tôi lại muốn cả hai lựa chọn một cái gì đó và theo một liên kết (có lẽ là một cửa sổ mới, mà sau đó sẽ tập trung) cùng một lúc?

+0

Vâng, tôi thấy có thể lựa chọn được trọng chức năng nhấp chuột bình thường của liên kết. Câu hỏi sau đó là một số gợi ý về cách tốt nhất để sửa chữa nó là gì? Người dùng sẽ chọn các mục trong danh sách để lưu vào danh sách được cá nhân hóa. Tương tác có thể lựa chọn() hiển thị các mục đã được chọn cho đến thời điểm này. Họ cũng có thể chọn theo liên kết trong mục danh sách. – jerome

+0

Vâng, việc tự động theo liên kết có thể không phải là những gì bạn muốn từ quan điểm giao diện người dùng. Nếu có, hãy sử dụng Jquery nhiều hơn để mở rộng chức năng OnClick sau khi bạn gọi .selectable(). Tuy nhiên, tôi khuyên bạn nên liên kết hoạt động với (chọn) sau đó hoặc ngược lại, trong đó nhấp chuột là lựa chọn, nhưng bạn thêm liên kết (url mở) trên cùng một dòng với lần nhấp để mở URL. –

+0

Tôi đánh giá cao đề xuất của bạn về hành vi giao diện người dùng. Mã thực tế mà tôi đang làm việc trên bao gồm một mục danh sách bao gồm một liên kết đến một bài viết và một mô tả dài hơn về một bài viết, tiếp theo là một dấu ngày cho bài viết đó. Vì vậy, nội dung trong li là lớn hơn, và nó là li có thể lựa chọn, không phải là liên kết chính nó. Có lẽ mô tả đó sẽ giúp bạn tưởng tượng những gì tôi đang cố gắng làm. Bạn có đề xuất cụ thể về cách rời khỏi li như một toàn bộ có thể lựa chọn, trong khi vẫn giữ lại (hoặc thêm lại) chức năng liên kết? – jerome

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