Tôi nhận thấy rằng trong Chrome (Tôi đang sử dụng Chrome 35.0.1916.114 [CẬP NHẬT: cũng xảy ra trong "35.0.1916.153 m"], Windows 7 64 bit) khi tôi nhấp vào nút bên trái không chỉ là mouseDown sự kiện lớn lên (như tôi mong đợi) nhưng cũng là một mouseMove.Tại sao Chrome tăng mousemove trên mousedown?
Trong this fiddle nếu bạn nhấp vào phần tử đầu vào, bạn sẽ thấy chữ 'D' cho mỗi sự kiện chuột được hiển thị và ký tự 'M' cho mỗi mouseMove.
HTML:
<input id="txt" type="text"/>
<p>Moves</p><p id="moves">0</p>
<p>Downs</p><p id="downs">0</p>
<p id="activity">Activity</p>
JS:
$("#txt").mousedown(function() {
document.getElementById("activity").innerHTML +="D";
update(false,true);
});
$("#txt").mousemove(function() {
document.getElementById("activity").innerHTML +="M";
update(true,false);
});
function update(move, down)
{
var moves=document.getElementById("moves").innerHTML;
if (move)
{
moves ++;
document.getElementById("moves").innerHTML=moves;
}
var downs=document.getElementById("downs").innerHTML;
if (down)
{
downs ++;
document.getElementById("downs").innerHTML=downs;
}
var d=parseInt(downs);
var m=parseInt(moves);
if ((d+m)%25==0)
{
document.getElementById("activity").innerHTML +="<br>";
}
}
Trong FF và IE11 khi con trỏ là trong các yếu tố đầu vào sau đó bạn sẽ có thể nhận được liên tiếp 'D's (ví dụ, một tăng lương nhấp chuột một sự kiện mouseDown duy nhất). Trong Chrome, mỗi lần nhấp chuột sẽ tăng mouseDown và hai sự kiện mouseMove.
Điều này không phải do bất kỳ sự rung lắc nhẹ của chuột khi tôi sử dụng bi xoay để con trỏ hoàn toàn cố định.
Có ai biết giải pháp cho việc này không?
Cảm ơn Dave
Có thể Chrome xem xét nhấn nút chuột một "chuyển động" vì bạn đang di chuyển nút chuột và công tắc chuột ... ... ... không bao giờ bận tâm. – BoltClock
Không xảy ra trong phiên bản Chrome của tôi: 35.0.1916.153 (Phiên bản chính thức 274914) trên Linux –
@RobbyCornelissen Tôi đang ở trên "35.0.1916.153 m" và điều đó xảy ra như được mô tả ở trên. Đồng nghiệp của tôi là trên cùng một phiên bản và khi sử dụng chuột (không phải một bi xoay) mỗi mouseDown được kèm theo một (không phải hai) mouseMoves. Bạn đang sử dụng thiết bị đầu vào nào? – Badgerspot