2010-11-10 32 views
8

MouseUp không bắn vào thanh cuộn cho các yếu tố năng động nhất (trừ Firefox):Lỗi chuột trong tất cả các trình duyệt ngoại trừ Firefox?

CSS:

#dBox { 
    height: 100px; 
    width: 230px; 
    overflow - y: auto; 
} 

HTML:

<input type="text" id="s">

JQuery:

$(function() { 
    $('#s').focus(function() { 
     var $dbox = $('<ul id="dBox"></ul>'); 
     for (i = 0; i < 10; i++) $dbox.append('<li>' + i + '</li>'); 
     $(this).after($dbox); 
     $dbox.bind("mouseup", function() { 
      alert('in: '); 
      //console.log ('in: '); 
     }); 
    }); 
}); 
// OR LIKE THIS 
$('#s').focus(function() { 
    var $dbox = $('<ul id="dBox"></ul>'); 
    for (i = 0; i < 10; i++) $dbox.append('<li>' + i + '</li>'); 
    $(this).after($dbox); 

}); 
$('#dBox').live("mouseup", function() { 
    alert('in: '); 
    //console.log ('in: '); 
}); 

Nếu bạn nhấp vào bất kỳ đâu trên ul sẽ kích hoạt BUT không trên thanh cuộn. Vấn đề tương tự tồn tại trong tất cả các trình duyệt ngoại trừ Firefox.

Nếu bạn thay thế 'mouseup' bằng 'mousedown' cũng sẽ kích hoạt trên thanh cuộn, trong tất cả các trình duyệt.

Sau một vài lần kiểm tra nữa, có vẻ như nó không tạo sự khác biệt nếu 'ul' được thêm vào thực tế hay không, mouseup dường như không nhận ra thanh cuộn như một phần của 'ul' (trừ FF) .

Và cùng một vấn đề nếu bạn thay thế 'ul' bằng 'div' và 'li' bằng 'p'.
<div id="dBox" class="" ><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p></div>

$('#dBox').mouseup(function() {alert ('in: ');});

+0

Tôi không nghĩ rằng bạn sẽ có thể nhận được IE để kích hoạt sự kiện mouseup. Bạn đang cố làm gì vậy? – InvisibleBacon

+0

@InvisibleBacon Tôi chỉ cần thực hiện một danh sách chọn popup đơn giản. Nhưng IE không trả về false trên 'mousedown'. Vì vậy, tôi đã cố gắng để làm một hack: để unbind blur trên 'mousedown' và để ràng buộc một lần nữa mờ trên 'mouseup'. Nhưng tôi đã phát hiện ra rằng mouseup sẽ không cháy trên thanh cuộn trong tất cả các trán (trừ FF): http://stackoverflow.com/questions/4140317/does-anyone-know-if-ie-return-false – silversky

+0

Sau vài bài kiểm tra nữa có vẻ như mouseup không kích hoạt trên thanh cuộn ngay cả khi ul và li được đặt trên tài liệu gốc. (trừ FF) – silversky

Trả lời

3

Yup. Dưới đây là những lỗi đang mở trên Chrome: http://code.google.com/p/chromium/issues/detail?id=14204

Và trên webkit: https://bugs.webkit.org/show_bug.cgi?id=25811https://bugs.webkit.org/show_bug.cgi?id=40648

Dưới đây là một kẻ cả "bạn không cần nó" phản hồi từ Microsoft: http://social.msdn.microsoft.com/Forums/en-US/netfxjscript/thread/3749b8a1-53ef-48fe-be81-b2df39d6154f/

Đó chủ đề cuối cùng sẽ trả về khả năng sử dụng onscroll như là một thay thế cho onmouseup. Đây có thể là cách giải quyết một phần.

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