2013-05-03 9 views
31

Tôi đang cố gắng hiển thị cửa sổ giao diện người dùng Kendo ở trung tâm của trình duyệt, nhưng nó vẫn hiển thị ở cuối trang, điều này có nghĩa là phần hiển thị duy nhất của cửa sổ là thanh trên cùng, phần còn lại của cửa sổ là ra khỏi tầm nhìn, chỉ khi bạn kéo nó xung quanh bạn có thể xem nó đúng cách. Tôi không có phong cách áp dụng cho div đang được sử dụng cho cửa sổ vì vậy tôi bối rối là tại sao nó được hiển thị như thế.Làm cách nào để bắt buộc cửa sổ giao diện người dùng Kendo ở giữa trang? và làm thế nào để vô hiệu hóa tất cả các hành động?

Ngoài ra, tôi muốn tắt tất cả nút tác vụ trên thanh trên cùng của cửa sổ, cố gắng đặt một mảng hành động trống nhưng nút đóng được hiển thị là mặc định, có cách chỉ hiển thị tiêu đề của cửa sổ trên thanh trên cùng? Tôi muốn cửa sổ biến mất khi một nút trong đó được nhấp vào.

Đây là cách tôi là tạo ra cửa sổ:

var accessWindow = $("#accessDiv").kendoWindow({ 
    actions: [], 
    draggable: true, 
    height: "300px", 
    modal: true, 
    resizable: false, 
    title: "Access", 
    width: "500px" 
}); 

accessWindow.center(); 
accessWindow.open(); 

Đây là div của tôi với chỉ một nhãn, một đầu vào và một nút, không có CSS ​​đang được áp dụng cho nó vào lúc này:

<div id="accessDiv" style=" width: 100%; height: 100%; background-color: #fff;"> 
    <label>Enter access key</label> 
    <input type="text" /> 
    <input type="button" title="Enter" value="Enter" /> 
</div> 

Trả lời

60

bạn đã cố gắng che giấu nó, sau đó tập trung và mở nó?

var accessWindow = $("#accessDiv").kendoWindow({ 
actions: {}, /*from Vlad's answer*/ 
draggable: true, 
height: "300px", 
modal: true, 
resizable: false, 
title: "Access", 
width: "500px", 
visible: false /*don't show it yet*/ 
}).data("kendoWindow").center().open(); 

từ: http://www.kendoui.com/forums/ui/window/kendowindow-center-doesn-t-work-when-inside-an-iframe.aspx

+2

bạn không có nghĩa là .data ('kendoWindow'). Center(). Open()? Nhưng vâng, điều này giải quyết được vấn đề, nếu tôi muốn thay đổi vị trí của nó một chút, tôi nên làm như thế nào? –

+2

Nếu bạn biết vị trí XY bạn có thể sử dụng 'accessWindow.wrapper.css ({top:" 100px ", left:" 50px "})'.Hãy nhớ rằng bạn có thể nhận được vị trí bằng cách thực hiện 'accessWindow.wrapper.position()'. Ví dụ [ở đây] (http://jsfiddle.net/OnaBai/ueYs4/) – OnaBai

+0

Vẫn tìm thấy nó đôi khi kỳ quặc nếu tôi đóng nó và mở lại. –

6

1.Bạn cần trao đổi hai dòng mã cuối cùng. Trước hết bạn cần mở cửa sổ và sau đó bạn có thể căn giữa nó.

2.To hiển thị cửa sổ mà không cần bất kỳ hành động mà bạn cần phải vượt qua đối tượng rỗng:

actions: {} 
+0

đối tượng trống làm việc để hiển thị không có hành động, nhưng cửa sổ vẫn được hiển thị ở phía dưới, tôi nghĩ rằng tôi cần xác định thêm về khía cạnh này, khi tôi nói dưới cùng, tôi có nghĩa là bạn chỉ có thể thấy thanh trên cùng , cửa sổ không được hiển thị trên trình duyệt, chỉ cho đến khi bạn kéo nó xung quanh, bạn có thể xem nó. –

+0

Mở cửa sổ, sau đó thực hiện '.center()' làm việc cho tôi. Nhiều THANKS cho phần thông tin này. +1 – vapcguy

+1

@VladOmelyanchuuk, khi tôi mở(). Center(), tôi có thể thấy hộp thoại của tôi trượt qua màn hình để căn giữa. Làm thế nào tôi có thể ngăn chặn điều này? –

7

Hai dòng cuối cùng nên đọc:

accessWindow.data("kendoWindow").center(); 
accessWindow.data("kendoWindow").open(); 
+4

Hoặc thậm chí accessWindow.data ("kendoWindow"). Center(). Open(); –

+0

Không hoạt động theo thứ tự này đối với tôi. Câu trả lời của Vlad ở trên, nơi anh ta nói để mở cửa sổ, sau đó là trung tâm, làm việc để căn giữa cửa sổ của tôi. – vapcguy

+0

@vapcguy, làm thế nào bạn có được nó để ngăn chặn trượt qua cửa sổ khi nó mở ra đầu tiên, sau đó trung tâm? –

-1

Bạn có thể tham khảo mã sau đây cho vị trí cửa sổ của bạn.

var accessWindow = $("#accessDiv").kendoWindow({ 
        elem: 
        draggable: true, 
        modal: true, 
        title: "Title", 
        width:500, 
        visible: false, 
        position:{ 
         top:"15%", 
         left:"35%" 
        }, 
     }).data("kendoWindow").open(); 

Nếu bạn muốn cố định vị trí không phụ thuộc vào kích cỡ màn hình, sau đó sử dụng

position:{ 
    top:"20px", 
    left:"100px" 
} 

Nhưng nếu bạn muốn điều chỉnh vị trí cửa sổ của bạn tương đối, đầu và còn lại trong '%' sẽ làm việc cho bạn.

0

Biểu tượng bên dưới phù hợp với tôi. Nếu bạn không thích nó như một phương thức, hãy đặt nó thành false hoặc xóa nó.

var window = $("#addBlacklistWind"); 

    $("#btnAddBlacklist").bind("click", function() { 
      window.data("kendoWindow").center().open(); 
     }); 

     window.kendoWindow({ 
      width: "800px", 
      title: "Add New Blacklist", 
      modal: true, 
      visible: false, 
      actions: [ 
       "Maximize", 
       "Close" 
      ] 
     }); 
Các vấn đề liên quan