Merge branch 'master' of https://github.com/voxwerk/jquery-ui into voxwerk-master

This commit is contained in:
Scott González
2011-03-07 10:47:33 -05:00
2 changed files with 72 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=utf-8 />
<title>Test for Issue #6946</title>
<link rel="stylesheet" href="../all.css" type="text/css">
<link rel="stylesheet" href="../../../themes/base/jquery.ui.all.css" type="text/css" />
<script type="text/javascript" src="../../../jquery-1.4.4.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.mouse.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.sortable.js"></script>
<style type="text/css" media="screen">
body {
background: white;
font-size: 90%;
}
.error {
color: #f55;
font-style: italic;
}
#sortable div:hover {
cursor: move;
}
</style>
</head>
<body>
<h1>Test for Issue #6946</h1>
<p>Use the following list to test the steps listed below:</p>
<div id="sortable">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>
<div id="events"></div>
<h2>Expected</h2>
<ol>
<li>Drag an item to a new position in the list and release.</li>
<li>The click event should be received (appropriately suppressed by jQuery UI).</li>
<li>Click the same item.</li>
<li>The click event should be received.</li>
<li>Click the same item again.</li>
<li>The click event should be received.</li>
</ol>
<h2>Experienced (Gecko/Opera)</h2>
<ol>
<li>Drag an item to a new position in the list and release.</li>
<li>The click event is not received <em>(never sent by browser)</em>.</li>
<li>Click the same item.</li>
<li class="error">The click event is not received (erroneously suppressed by jQuery UI).</li>
<li>Click the same item again.</li>
<li>The click event is finally received.</li>
</ol>
<script type="text/javascript">
$(function () {
$('#sortable').sortable();
$('#sortable').bind('click', function () {
$('#events').append('Click event received!<br />');
});
});
</script>
</body>
</html>

View File

@@ -75,6 +75,11 @@ $.widget("ui.mouse", {
}
}
// Click event may never have fired (Gecko & Opera)
if (true === $.data(event.target, this.widgetName + '.preventClickEvent')) {
$.removeData(event.target, this.widgetName + '.preventClickEvent');
}
// these delegates are required to keep context
this._mouseMoveDelegate = function(event) {
return self._mouseMove(event);