2013-08-05 47 views
7

Câu hỏi này là thông tin liên quan. Im mới để jquery. Tôi khá có kinh nghiệm về HTML & CSS.Di chuột qua v/s di chuột trong Jquery

Sự khác nhau giữa Hover & Mouseover trong Jquery là gì. Cả hai đều không được kích hoạt khi di chuột qua một phần tử.

+1

Bạn đã đọc tài liệu chưa? – SLaks

Trả lời

6

Hàm hover() cao hơn - nó được xây dựng để gọi hàm để xử lý cả sự kiện mouseenter và sự kiện mouseleave. Rất thuận tiện cho phần tử giao diện người dùng có trạng thái di chuột và trạng thái bình thường (ví dụ: nút.)

Hàm mouseover() liên kết cụ thể với sự kiện di chuột qua. Tốt nhất cho các tình huống mà bạn chỉ quan tâm khi chuột đã vượt qua biên giới thành một phần tử và bạn không thực sự quan tâm điều gì xảy ra nếu nó rời đi. Nó cũng là hàm để gọi khi bạn muốn kích hoạt sự kiện trên một số phần tử.

GIẢI THÍCH TỪ: http://www.quora.com/jQuery/What-is-the-difference-between-the-hover-and-mouseover-functions

9

mouseover(): sự kiện cháy cho trẻ em của phần tử đó.

hover(): Di chuột thực sự hoạt động với mouseentermouseleave mà không cần kích hoạt cho trẻ em.

Để đạt được hiệu ứng di chuột, chúng ta cần cả hai mouseovermouseout kiện

$("element").mousover(function(){ 
    //do something over 
}).mouseout(function() { 
    //do something out 
}); 

trong khi di chuột() nó chỉ là một cuộc gọi trở lại.

$("element").hover(
    function() { 
    //do something enter 
    }, 
    function() { 
    //do something exit 
    } 
); 

Từ David Jones experience:

Trong dự án tôi đã làm việc trên tôi thiết lập một div container để sử dụng di chuột vào và có thêm một số tab html để container. Điều này dường như hoàn toàn tốt đẹp nhưng tôi phát hiện ra rằng sử dụng mouseover/mouseout có nghĩa là html được thêm giữ biến mất khi tôi cố gắng tương tác với nó cùng với jquery khác mà tôi đã đặt ra xung đột với nó.

Cuối cùng, giải pháp cụ thể của tôi yêu cầu tôi sử dụng chuột và mouseleave với chức năng trực tiếp thay vì sử dụng di chuột vì tôi đang làm việc với html được tạo.

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