Tôi có nút div có thuộc tính tiêu đề mà chúng tôi đã sử dụng làm văn bản cho các mẹo công cụ bằng cách sử dụng jQueryUI. Tôi muốn thay đổi chú giải công cụ của nút bằng cách nhấp vào nó. Tuy nhiên, khi nút được nhấp và chức năng gọi lại được kích hoạt, con chuột vượt quá div và tiêu đề là null.Thay đổi thuộc tính tiêu đề bằng cách sử dụng jQuery trong khi di chuột qua phần tử
Tôi làm cách nào để khắc phục hành vi này? Dường như jQueryUI Tooltip widget loại bỏ tiêu đề trên di chuột và đặt nó trở lại chuột ra ngoài.
$(document).tooltip();
$(".btn").click(function(){
alert($(this).attr("title")); // Expect to see T1 or T2 but shows blank
if ($(this).attr("title")=="T1"){
$(this).attr("title","T2")
}else{
$(this).attr("title","T1")
}
});
Live: http://jsfiddle.net/lordloh/ckTjA/
Nếu không có widget jQueryUI Tooltip tại chỗ, mọi thứ dường như làm việc tốt: http://jsfiddle.net/lordloh/ckTjA/1/
Hơn nữa, tôi có widget tooltip áp dụng trên $(document)
. Vì vậy, tôi không thể sử dụng $(this).tooltip("option","content")
vì chú giải công cụ không được áp dụng trên $(this)
một cách rõ ràng. Điều này dẫn đến lỗi Javascript trên bảng điều khiển.
2013-02-18: Hiện tại, tôi đang chạy $(document).tooltip("destroy");
, thay đổi thuộc tính tiêu đề và $(document).tooltip();
. Không phải là một giải pháp thanh lịch :-(Tôi đang tìm kiếm cái gì đó không phải là một hack
Cảm ơn. Tại sao tôi không thể truy cập nó thông qua '$ (this) .attr (" data-ui-tooltip-title ")'? –
Tôi thấy hai mục nhập trong tài liệu - http: // api.jquery.com/jQuery.data/ và http://api.jquery.com/data/. Sau này dường như đang sử dụng thuộc tính HTML5 'data- *'. Tôi giả định rằng '$ (" # phần tử của tôi "). Dữ liệu (" ui-tooltip-title ")' đang lưu trữ dữ liệu ở nơi khác (?). –
Tôi nghĩ jQuery chỉ lưu trữ thông tin trong HTML5 'data-xxx' nếu phần tử có thuộc tính data để bắt đầu. Nếu nó không thì nó lưu trữ nó trong một mảng nội bộ hoặc một cái gì đó như thế. – BG100