2015-03-19 16 views
5

Tôi đang xây dựng một giỏ mua hàng với trình đơn thả xuống nền tảng vì vậy tôi cần một cách để mở trình đơn thả xuống theo chương trình. Có cách nào không?Mở nền tảng zurb thả xuống theo chương trình

Tôi cố gắng này:

$(document).foundation('dropdown', 'open', ($('#top-bar-cart'), $('.top-bar-cart-link')); 

này:

Foundation.libs.dropdown.open($('#top-bar-cart'), $('.top-bar-cart-link')); 

Và đây:

$('.dropdown-btn').trigger('click'); 

Nhưng không succes cho đến nay.

EDIT:

Tôi nghĩ rằng tôi thấy vấn đề. tôi đã sử dụng mã bên trong một sự kiện click vào kiểm tra nó vì vậy tôi cần thiết này:

e.stopImmediatePropagation(); 

để làm cho nó làm việc. Ví dụ đầy đủ:

$('#button').click(function(e) { 
    e.preventDefault(); 
    e.stopImmediatePropagation(); 

    // use this (most correct way, I think) 
    Foundation.libs.dropdown.open($('#top-bar-cart'), $('.top-bar-cart-link')); 
    // or this 
    //('.top-bar-cart-link').trigger('click'); 
}); 

Cảm ơn nhận xét!

+0

http://jsfiddle.net/k1gonvvc/ hoạt động này –

+0

Công việc tùy chọn thứ hai và thứ ba, tùy chọn đầu tiên sẽ không hoạt động. Bạn nên cung cấp một ví dụ hoàn chỉnh vì lỗi của bạn có thể ở một nơi khác. – aKzenT

+0

Đây là giải pháp làm việc duy nhất tôi tìm thấy cho câu hỏi này. E.preventDefault(); và e.stopImmediatePropagation(); là các bit chính để làm việc này. Cảm ơn nhiều. –

Trả lời

0

Hãy thử $('.dropdown-btn').trigger('click.fndtn.dropdown') thay vì .trigger('click') ... vì Foundation không gian tên sự kiện của nó.

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