Tôi có một số liên kết được hiển thị trên một trang. Tôi muốn bật/tắt chúng dựa trên các sự kiện khác trên trang. Có cách nào để làm điều này với jQuery?Làm cách nào để tự động bật/tắt liên kết với jQuery?
Trả lời
$('selector_for_links_to_disable').bind('click', function(e){
e.preventDefault();
})
và cho phép:
$('selector_for_links_to_enable').unbind('click')
Cố gắng hủy liên kết trong khi vẫn là chức năng liên kết không hoạt động. Sau đó, bạn phải sử dụng "return true;". –
Bạn có thể làm một cái gì đó như:
$('.links').click(function(e){
if([some conditions]){
e.preventDefault();
}
});
Hãy chắc chắn để chứng minh rằng họ không còn làm việc bằng cách nào đó, nếu không người dùng của bạn sẽ bị lẫn lộn, lol.
tùy thuộc vào ý bạn bằng cách "tắt".
này sẽ làm cho họ không làm gì cả:
$("A").click(function() { return false; });
$(document).delegate('.links', 'click', function() {
if ([your condition is true]) {
return false;
}
})
đoàn là tốt hơn so với bộ xử lý, bởi vì bạn có thể gọi cho họ trước khi dom là được tải
Bạn c một làm một cái gì đó như thế này:
<script>
$(document).ready(function() {
$('input#disableall').live('click', function(){
$('a').attr('class', 'disabled');
alert('All links are disabled.');
});
$('input#enableall').live('click', function(){
$('a').attr('class', 'enabled');
alert('All links are enabled.');
});
$('a.disabled').live('click', function(event){
event.preventDefault();
});
});
</script>
<a href='http://www.google.com'>Google<a/>
<a href='http://www.yahoo.com'>Yahoo<a/>
<a href='http://www.hotmail.com'>Hotmail<a/>
<input type='button' id='disableall' value='Disable Links' />
<input type='button' id='enableall' value='Enable Links' />
Khi tôi đưa ra các chức năng cho nút bằng jquery, tôi muốn làm điều này:
indice = '';
$('myLink').live('click',function() {
if (indice !== 'value1'){
// your code
}
indice = 'value1';
return indice;
});
với điều này, bạn sẽ có được chức năng chỉ là lần đầu tiên bạn bấm nút de. Bây giờ, bạn chỉ cần đặt mức độ khác biệt của giá trị1 cho liên kết của bạn hoạt động trở lại
bạn đang sử dụng html5? hoặc xhtml? – RobertPitt
@robertpitt tại sao điều đó có liên quan? – Yahel
vì nếu bạn sử dụng html5 thì bạn có thể sử dụng 'data- *' để lưu trữ dữ liệu dưới dạng chuỗi, vì vậy bạn có thể lưu trữ href trong 'data-href' và thay thế hiện tại bằng' # ', sau đó tạo plugin để chuyển đổi điều này, chẳng hạn như '$ ('. disabled'). DisableClick();' bạn có thể làm điều đó với preventDefault nhưng tôi chỉ định giải thích một cách cho html5. – RobertPitt