2013-07-30 25 views
11

Tôi đang cố gắng tạo kiểu cho chú giải công cụ jQuery UI nhưng nó vẫn đóng. Tôi đã thử những điều sau đây mà không thành công:jQuery UI giữ chú giải công cụ mở để gỡ lỗi (để tạo kiểu)

$("td label").tooltip({ 

    disabled: true, 
    close: function (event, ui) { return false; } 

}).on("click", function() { 

    $(this).tooltip("open"); 
}).off('focusout mouseleave mouseenter'); 

Không có gì có vẻ giữ nó mở. Khi tôi nhấp chuột phải vào nó để đi đến Firebug, nó biến mất trước khi tôi có cơ hội.

+0

Điều gì sẽ xảy ra nếu bạn không chỉ định điều này ('mouseout mouseleave mouseenter'); – TGH

+0

Không, vẫn biến mất. – parliament

Trả lời

17

Gọi phương pháp mở trên tooltips của bạn, điều đó sẽ làm cho họ ở lại mở

$("td label").tooltip().tooltip("open"); 
+0

Lưu ý rằng thao tác này chỉ hoạt động với chú giải công cụ không được ủy nhiệm. Xem http://stackoverflow.com/a/14881045/7376 để có tùy chọn khác. – Tom

12

Nếu chỉ nhằm mục đích gỡ lỗi, tại sao không sử dụng the hide option và đặt thời lượng thực sự dài.

$("td label").tooltip({ hide: {duration: 1000000 } }); 
+1

Hoặc sử dụng 'delay', như sau:' hide: {delay: 1000000} '. – Pang

1

Cả hai câu trả lời trước đó đã không giúp tôi như một đã không làm việc trên tooltips không được ủy quyền, trong khi với phương pháp khác tôi không thể chơi xung quanh với CSS trong bảng điều khiển dev. Chú giải công cụ vẫn ở trạng thái mở, nhưng tôi không thể bỏ chọn bất kỳ hộp kiểm nào đối với bất kỳ CSS nào như bình thường hoặc nhập nhiều CSS hơn - để truy cập giải pháp trước khi triển khai.

Cuối cùng tôi đã sử dụng câu lệnh trình gỡ lỗi để ngắt mã sau khi đã mở chú giải công cụ.

Ví dụ:

jQuery(".myElement").tooltip({ 
    open: function (event, ui) {    
      debugger; 
    } 
}); 

Khi breakpoint được hit, đánh giá này trong bảng điều khiển

$(".ui-tooltip-content") 

Và sau đó click chuột phải vào kết quả thẩm định trong giao diện điều khiển và chọn Reveal trong bảng Elements để làm việc với nó giống như bất kỳ phần tử nào khác trên trang. Điều này đặc biệt hữu ích khi nội dung tooltip được xây dựng động (như trong trường hợp của tôi).

10

Tùy chọn tốt hơn là tạm dừng thực thi js.

  1. mở Bảng điều khiển
  2. Đổi thành Sources
  3. Hover một cái gì đó cho tooltip xuất hiện
  4. nút F8 Bấm (có thể khác nhau, di chuột vào biểu tượng Pause để kiểm tra các phím nóng)
+0

Đây là câu trả lời đúng cho mục đích gỡ lỗi. Không có sửa đổi mã. – Kelly

+0

đây phải là câu trả lời được chấp nhận vì không có mã nào được sửa đổi! – equitharn

+0

Big Cảm ơn bạn, bây giờ nó có vẻ hiển nhiên ... nhưng tôi lãng phí một số thời gian cố gắng để gỡ lỗi các tính năng tự động hoàn thành của jquery-ui, mà biến mất với bất kỳ nhấp chuột. –

1

Đối v4.1.5 của tooltipster sử dụng tùy chọn trễ như thế này.

$('.tooltip').tooltipster({ 
    interactive:true, 
    animation: 'grow', 
    delay:[100, 10000000] 
}); 

Giá trị trễ thứ hai, chỉ định độ trễ đóng cho chú giải công cụ. Tham chiếu: http://iamceege.github.io/tooltipster/#options

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