除Firefox之外的所有浏览器中的Mouseup错误?

sil*_*sky 8 mouse jquery scrollbar live

对于动态添加的元素(Firefox除外),滚动条不会触发Mouseup:

CSS:

#dBox {
    height: 100px;
    width: 230px;
    overflow - y: auto;
}
Run Code Online (Sandbox Code Playgroud)

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: ');  
});
Run Code Online (Sandbox Code Playgroud)

如果你单击任何地方ul就会点击但不在滚动条上.除Firefox之外的所有浏览器都存在同样的问题.

如果将'mouseup'替换为'mousedown',也会在所有浏览器中触发滚动条.

经过几次测试之后,似乎没有任何区别,如果'ul'它是否添加了dinamically,鼠标只是似乎没有将滚动条识别为'ul'(FF除外)的一部分.

如果你用'div'替换'ul'而用'p'替换'li'也是同样的问题.
<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: ');});

Jam*_*ker 3

是的。这是 Chrome 上的未解决错误:http://code.google.com/p/chromium/issues/detail ?id=14204

在 webkit 上: https: //bugs.webkit.org/show_bug.cgi ?id= 25811 和https://bugs.webkit.org/show_bug.cgi?id=40648

这是来自微软的居高临下的“你不需要它”的回应:http://social.msdn.microsoft.com/Forums/en-US/netfxjscript/thread/3749b8a1-53ef-48fe-be81-b2df39d6154f/

最后一个线程提出了使用 onscroll 作为 onmouseup 替代品的可能性。这可能是部分解决方法。