Tôi đang sử dụng bootstrap trong dự án mvc của mình. Tôi gặp sự cố với tiện ích bật lên bootstrap. Tôi đã tạo ra một loại trực tiếp tùy chỉnh bắt buộc đối với phụ tùng popover, đây mã:Làm cách nào để thay đổi kích thước cửa sổ bật lên twitter bootstrap?
ko.bindingHandlers.popover = {
init: function (element, valuesAccessor, allBindingsAccessor, viewModel, bindingContext) {
var options = ko.utils.unwrapObservable(valuesAccessor() || {});
options.html = true;
options.content = '<small class="text-info">' + 'Variable text goes here.Variable text goes here.Variable text goes here.Variable text goes here.Variable text goes here. ' + '</small>';
$(element).popover(options);
},
update: function (element, valuesAccessor, allBindingsAccessor, viewModel, bindingContext) {
var extraOptions = allBindingsAccessor().popoverOptions;
$(element).popover(extraOptions.observable() ? "show" : "hide");
$(element).siblings('.popover').css({ width: '150px' });
//IF YOU UN-COMMENT BELOW 2 LINES THAN EVERY THINGS WORKS FINE
//if(extraOptions.observable())
//$(element).popover('show');
}
};
function vm() {
var self = this;
self.isVisible = ko.observable(false);
self.open = function() {
self.isVisible(!self.isVisible());
};
}
ko.applyBindings(new vm());
Tôi muốn khởi tạo popover trên bất kỳ phần tử với tin nhắn văn bản thay đổi và với kích thước khác nhau. Mọi thứ đều ổn nhưng khi tôi thay đổi chiều rộng mặc định của cửa sổ bật lên so với lần đầu tiên khi mở vị trí của nó là không chính xác (vui lòng kiểm tra hành vi trong fiddle).
Có một số dòng mã trong fiddle mà nếu bạn bỏ ghi chú hơn vấn đề này giải quyết. Nhưng tôi cảm thấy nó là một cách tiếp cận hacky, tôi muốn một số cách tốt hơn để xử lý nếu có bất kỳ?
Tôi đã làm điều đó nhưng div cửa sổ không hiện diện trước khi khởi tạo để thay đổi không có hiệu lực – user1740381
Tôi đang cố gắng cung cấp bản trình diễn nhưng tôi không chắc bạn đang điều chỉnh độ rộng của mình trên nền nào. Có vẻ như tùy ý. Tại sao không chỉ thiết lập chiều rộng với CSS? – isherwood