2013-06-06 27 views
7

tôi thiết lập các tooltip và hộp thoại như sau:Sử dụng hộp thoại ui jquery với tooltip gây tooltip hiển thị trên khai mạc, không di chuột

$(document).ready(function() { 
    $("#dialog").dialog({ autoOpen: false }); 
    $(document).tooltip(); 

nhưng khi tôi mở hộp thoại sau tooltip gần của nó luôn xuất hiện trên mở, KHÔNG chỉ cần lơ lửng trên gần như mong đợi. Có ai khác nhìn thấy hành vi này/biết lý do tại sao nó xảy ra?

Trả lời

2

Tìm thấy một giải pháp:

$("*").tooltip(); 
$('.ui-dialog-titlebar-close').tooltip('disable') 

công trình ở vị trí của trên

+0

Không hoạt động nếu hộp thoại được tạo bởi JS sau khi tạo trang ... – Matrix

7

Đặt tùy chọn này items để loại trừ titlebar phụ tùng gần của hộp thoại dường như làm việc tốt cho tôi trong jQueryUI 1.9+

$(document).tooltip({ 
    items: '*:not(.ui-dialog-titlebar-close)' 
}); 
+0

Vấn đề slove đối với lỗi hộp thoại-lỗi, nhưng có một lỗi khác: http://jsfiddle.net/5renLfmp/2/ tất cả các chú giải công cụ không hoạt động. Nếu bạn chỉ cần tooltip() gọi mà không có bộ lọc, nó hoạt động. Vì vậy, làm thế nào tôi có thể làm gì? – Matrix

1

Chú giải công cụ xuất hiện vì nút tự động được lấy tiêu điểm khi hộp thoại mở ra (đây là hành vi lạ). Bạn cần thêm thuộc tính "tabindex" vào bất kỳ phần tử nào trong hộp thoại để tránh điều này.

Ví dụ:

<table tabindex="1"> 
+0

Cảm ơn @riks. Chỉ cần thêm tabindex = 1 vào một trong các phần tử và không thấy tự động bật lên nữa. – Neo

+0

Không hoạt động cho tôi ... – Matrix

0

giải pháp tốt cho tôi với 1.11.3 jQuery và 1.10.4 Jui

$.ui.dialog.prototype._focusTabbable = function(){}; 

Nó sẽ tắt nhật tự động lấy nét và không thấy tự động bật lên nữa

0

tôi sử dụng:

$ (".selector") .dialog ({closeText: ""});

1

Theo dialog's documentation:

Sau khi mở một hộp thoại, tập trung được tự động chuyển đến mục đầu tiên phù hợp với những điều sau đây:

  • Yếu tố đầu tiên trong hộp thoại với các thuộc tính tự động lấy nét
  • Yếu tố đầu tiên: tabbable trong nội dung của hộp thoại
  • Yếu tố đầu tiên: tabbable trong nút của hộp thoại ane
  • nút đóng của hộp thoại
  • Hộp thoại tự

Vì vậy, giải pháp của tôi là để thêm autofocus một div trống ở phía trên cùng của mẫu I đã sử dụng trong hộp thoại của tôi:

<form action="" method="post" accept-charset="utf-8"> 
    <div class="stealFocus" autofocus></div> 
Các vấn đề liên quan