Ошибка при появлении мыши во всех браузерах, кроме Firefox?

Mouseup не запускает полосу прокрутки для динамически добавленных элементов (кроме Firefox):

CSS:

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

HTML:

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: ');  
});

Если вы щелкнете в любом месте ul, сработает, НО не на полосе прокрутки. Та же проблема существует во всех браузерах, кроме Firefox.

Если вы замените 'mouseup' на 'mousedown', также будет срабатывать на полосе прокрутки во всех браузерах.

После еще нескольких тестов кажется, что не имеет значения, добавлен ли он динамически или нет, mouseup просто не распознает полосу прокрутки как часть ul (кроме FF).

И та же проблема, если вы замените 'ul' на 'div' и 'li' на 'p'.
< div id = "dBox" class = "">

1

2

3

4

5

6

7

8

9

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

8
задан Myles Gray 24 February 2011 в 17:16
поделиться