Mouseup no se dispara en la barra de desplazamiento para los elementos añadidos dinámicamente (excepto Firefox):¿Error de Mouseup en todos los navegadores excepto en 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: ');
});
Si hace clic en cualquier lugar en el ul
se disparará PERO no en la barra de desplazamiento. El mismo problema existe en todos los navegadores excepto en Firefox.
Si reemplaza 'mouseup' con 'mousedown' se activará la barra de desplazamiento también, en todos los navegadores.
Después de algunas pruebas más, parece que no importa si el 'ul' se agrega dinamicamente o no, el mouseup simplemente no parece reconocer la barra de desplazamiento como parte de 'ul' (excepto FF) .
Y el mismo problema si reemplaza 'ul' con 'div' y 'li' con '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: ');});
No creo que pueda obtener IE para desencadenar el evento mouseup. ¿Que estás tratando de hacer? – InvisibleBacon
@InvisibleBacon Solo quiero hacer una lista de selección emergente simple. Pero IE no devuelve falso en 'mousedown'. Así que he intentado hacer un hack: para desvincular el desenfoque en 'mousedown' y volver a unir el desenfoque en 'mouseup'. Pero descubrí que mouseup no se activará en la barra de desplazamiento en todas las cejas (excepto FF): http://stackoverflow.com/questions/4140317/does-anyone-know-if-ie-return-false – silversky
Después de algunas pruebas más parece que mouseup no se activa en la barra de desplazamiento incluso si el ul y el li se colocan en el documento original. (excepto FF) – silversky