2011-09-12 40 views
13

Với HTML nàySống nhấp chuột sự kiện báo cáo nguồn khác nhau trong Firefox vs Chrome

<div> 
    <button> 
    <img src="https://img.skitch.com/20110912-1m2qj31m7sxmh46uheef63gutu.gif"> 
    </button> 
</div> 

và jQuery

$(document).ready(function() { 
    $("body").live("click", function(event) { 
    $("body").append(event.target.tagName);    
    }); 
}); 

này Tại sao là nút mục tiêu sự kiện trong Chrome hình ảnh và trong Firefox đó là nút ?

kiểm tra jsfiddle ->http://jsfiddle.net/MikeGrace/YC5A7/

+1

nút trong IE8 Nó là tốt. –

+0

Lạ. Có vẻ như IE/FF không muốn các nút bị vô hiệu hóa từ nội dung bên trong. Trong khi Chrome thực hiện theo cách hợp lý: ( –

+0

@Mike Grace: Đó là nút 'BUTTON' dành cho tôi trong Chrome. Chỉnh sửa: _ Hình ảnh không được tải cho tôi, nhưng tôi hiểu ý của bạn là gì: – Shef

Trả lời

4

này không giới hạn hình ảnh, tất nhiên - Tôi chỉnh mã của bạn tại http://jsfiddle.net/YC5A7/13/ và nhận được kết quả tương tự với một siêu liên kết bình thường.

Theo tài liệu jQuery, event.target "có thể là yếu tố đăng ký sự kiện hoặc hậu duệ của sự kiện đó". Vì vậy, kết quả của bạn phù hợp với mục đích dự định của phương pháp đó.

Tuy nhiên, event.currentTarget có kết quả mong muốn trong tất cả các trình duyệt: http://jsfiddle.net/YC5A7/16/

+1

Rất thú vị. Cảm ơn bạn đã giúp đỡ! –

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