mouseup Feuer nicht auf Bildlaufleiste für Elemente dynamisch hinzugefügt (außer Firefox):Mausefehler in allen Browsern außer 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: ');
});
Wenn Sie irgendwo klicken auf die ul
wird aber nicht auf Bildlaufleiste Feuer. Dasselbe Problem existiert in allen Browsern außer Firefox.
Wenn Sie "MouseUp" mit "MouseDown" ersetzen, wird auch in allen Browsern auf Bildlaufleiste ausgelöst.
Nach ein paar weiteren Tests scheint es keinen Unterschied zu machen, ob die 'ul' dynamisch hinzugefügt wird oder nicht, das mouseup scheint die Bildlaufleiste nicht als Teil von 'ul' zu erkennen (außer FF) .
Und das gleiche Problem, wenn Sie 'ul' mit 'div' und 'li' mit 'p' ersetzen.
<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: ');});
Ich glaube nicht, dass Sie in der Lage sein werden, IE zu veranlassen, das MouseUp-Ereignis auszulösen. Was versuchst du zu machen? – InvisibleBacon
@InvisibleBacon Ich mache einfach eine einfache Popup-Auswahlliste. Aber der IE gibt bei "mousedown" nicht false zurück. Also habe ich versucht, einen Hack zu machen: um Unschärfe auf "mousedown" zu lösen und erneut die Unschärfe auf "mouse up" zu binden. Aber ich habe festgestellt, dass Mouseup nicht auf Scrollbar in allen Brauen (außer FF) ausgelöst wird: http://stackoverflow.com/questions/4140317/does-anyone-know-if-ie-return-false – silversky
Nach ein paar weiteren Tests Es scheint, dass Mouseup nicht auf Bildlaufleiste feuert, auch wenn die ul und li auf das ursprüngliche Dokument platziert sind. (außer FF) – silversky