Open
Bug 306517
Opened 20 years ago
Updated 3 years ago
mouseup fails to fire when part of a table is selected
Categories
(Core :: DOM: Events, defect, P5)
Tracking
()
UNCONFIRMED
People
(Reporter: felipe, Unassigned)
References
(Depends on 1 open bug, )
Details
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6
In the code pasted in below and at the referenced URL, the mouseup event fails
to fire when following a mousedown over an empty table cell if some of the table
is already selected.
Reproducible: Always
Steps to Reproduce:
1. Click and drag from the first row to the "foo" cell
2. Click and drag in the empty cells on the right. (The cursor should be a
circle with a slash.)
3. Observe that "mouseup" doesn't fire when you release the mouse here.
Actual Results:
No mouseup event.
Expected Results:
A mouseup event should fire.
<html>
<head></head>
<body>
<table id='myTable' border='1'>
<tr><td>1</td><td>2</td><td></td></tr>
<tr><td>1</td><td>2</td><td></td></tr>
<tr><td>1</td><td>2</td><td></td></tr>
<tr><td>1</td><td>2</td><td></td></tr>
<tr><td>1</td><td>2</td><td></td></tr>
<tr><td>1</td><td>2</td><td></td></tr>
<tr><td>1</td><td>2</td><td>foo</td></tr>
</table>
<script>
var theTable = document.getElementById('myTable');
var reportMouse = function(e) { debugWindow.show(e.type); };
theTable.addEventListener('mousedown', reportMouse, false);
theTable.addEventListener('mouseup', reportMouse, false);
</script>
</body>
<script>
//USE: debugWindow.show('key','value');
//
//SHOULDN'T NEED THIS, BUT: debugWindow.hide()
var DebugWindow = function(styleAttributes) {
var thisCopy = this;
this.pane = document.createElement('div');
this.pane.style.position = 'fixed';
this.pane.style.top = 0;
this.pane.style.right = 0;
this.pane.style.display = 'none';
this.pane.style.fontSize = 'small';
this.pane.style.width = '200px';
this.pane.style.backgroundColor = 'darkred';
this.pane.style.color = 'white';
for (var attribute in styleAttributes) {
this.pane.style[attribute] = styleAttributes[attribute];
}
var header = document.createElement('h4');
header.appendChild(document.createTextNode('Debug Window'));
this.messageDiv = document.createElement('div');
var hideButton = document.createElement('button');
hideButton.appendChild(document.createTextNode('Hide'));
hideButton.onclick = function() {
thisCopy.hide();
}
this.data = {};
this.pane.appendChild(header);
this.pane.appendChild(document.createElement('hr'));
this.pane.appendChild(this.messageDiv);
this.pane.appendChild(document.createElement('hr'));
this.pane.appendChild(hideButton);
document.body.appendChild(this.pane);
return this;
}
//KEYS MUST EVALUATE TO BOOLEAN TRUE
DebugWindow.prototype.show = function(key, newValue) {
this.pane.style.display = 'block';
if (key) {
var keyExists = this.data[key];
var newTextNode = document.createTextNode(newValue);
if (keyExists) {
this.data[key].value = newValue;
this.data[key].elem.replaceChild(
newTextNode, this.data[key].elem.lastChild
);
} else {
this.data[key] = {
value: newValue, elem: document.createElement('div')
};
this.data[key].elem.appendChild(
document.createTextNode(key+': ')
);
this.data[key].elem.appendChild(newTextNode);
}
this.messageDiv.appendChild(this.data[key].elem);
}
}
DebugWindow.prototype.hide = function() {
this.pane.style.display = 'none';
this.data = {};
}
window.debugWindow = new DebugWindow();
</script>
</html>
Comment 1•20 years ago
|
||
Do you see the bug in the latest nightly trunk build?
http://mozilla.isc.org/pub/mozilla.org/firefox/nightly/latest-trunk/
Comment 3•20 years ago
|
||
Ah, this is a dragging operation, you're talking about, right?
In that case, indeed, a mouseup event is not fired.
Probably related to bug 180514.
Updated•20 years ago
|
Component: General → DOM: Events
Product: Firefox → Core
Version: unspecified → Trunk
Yeah, bug 180514 does appear to be related. Maybe all mouse events after
"mousedown" are halted once certain criteria are met?
A difference between this bug and that one is that here, the cursor changes to a
circle with a slash.
Comment 5•20 years ago
|
||
I have also independently confirmed this in another piece of code that I'm working on. If the mousedown occurs in a 'position: relative' element, the 'mouseover' handler I have installed on the document element doesn't receive any events. If I absolutely position the element, it works.
It looks like once the mousedown happens, that's it - no more events.
Comment 6•20 years ago
|
||
William, probably not related to this bug.
Please, file a new bug, and preferably with a testcase that shows the bug, ok?
Updated•19 years ago
|
Assignee: nobody → events
QA Contact: general → ian
Updated•16 years ago
|
Assignee: events → nobody
QA Contact: ian → events
Comment 7•7 years ago
|
||
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046
Move all DOM bugs that haven’t been updated in more than 3 years and has no one currently assigned to P5.
If you have questions, please contact :mdaly.
Priority: -- → P5
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•