2013-07-19 28 views
10

Xin chào, tôi gặp sự cố khi đặt nút mới thành vô hiệu hóa. Tôi đang sử dụng Dojo 1.8Dojo: cách đặt để tắt nút mới

Xem mã của tôi dưới đây: -

require(["dojo/parser", "dijit/layout/BorderContainer", 
"dijit/form/Button","dojo/on","dijit/form/Select", 
"dojo/store/Memory", "dojo/request","dojo/domReady!" 
], 
function(parser, BorderContainer, Button, on, Select, Memory, request) 
{ 

var btn4 = new Button // Button, not button 
({ 
    label: "Number of cards", 
    this.set("disabled", false) // This code that disables the button 
    },"btn4"); 
btn4.startup(); 
}) 

tôi không thể tìm thấy sự giúp đỡ trong Dojo hay google cho nó.

Trả lời

6

Trước tiên, cố gắng gọi this.set() trong danh sách đối số của dijit không có ý nghĩa vì dijit chưa được tạo. Thứ hai, tham số đầu tiên cho một dijit luôn là một đối tượng javascript chuẩn với các cặp khóa/giá trị. Việc cố gắng chèn một cuộc gọi hàm ở giữa một khai báo đối tượng chỉ đơn giản là một lỗi cú pháp trong chính mã đó.

Cuối cùng, không cần phải thử sử dụng công cụ đặt của dijit. Chỉ cần đặt disabled: true trong danh sách đối số của bạn là Button dijit.

var btn4 = new Button({ 
    label: "Number of cards", 
    disabled: true, 
}, "btn4"); 

Xem này Fiddle.

14

Trong Dojo nhiều thứ khác như bạn mong đợi.

Nút có phương pháp setDisabled:

btn4.setDisabled(true) // disable 
btn4.setDisabled(false) // enable 
+1

Thật ngạc nhiên, bạn là đúng. Tôi có thể vô hiệu hóa một nút với button.set ('vô hiệu hóa', true) nhưng không thể kích hoạt lại nó bằng button.set ('disabled', false) - có vẻ như giả định false => null ở đâu đó. Phương thức button.setDisabled (false) hoạt động. Tôi cho rằng đây là lỗi dojo. –

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