No problem... In my UI JS file, I replaced this line:
if (event.originalEvent.mouseHandled) { return; }
with this:
if (event.originalEvent && event.originalEvent.mouseHandled)
{ return; }
Although I have since replaced that with the fix that Scott checked
in.
On Feb 6, 10:53 am, Neil Craig <[email protected]> wrote:
> I have tried the same fix to my local copy of jQuery UI 1.6rc6 but it
> did not work. See my code below:
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/
> TR/html4/strict.dtd">
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html;
> charset=iso-8859-1"/>
> <title>Dragging Trigger</title>
> <script type="text/javascript" language="JavaScript"
> src="jquery.js"></script>
> <script type="text/javascript" language="JavaScript"
> src="jquery.ui.all.js"></script>
> <script type="text/javascript" language="JavaScript">
> jQuery(document).ready(function() {
>
> jQuery("#myDiv").mousedown(function(ev) {
>
> target = jQuery(ev.target);
>
> target.draggable({
> helper: "clone",
> start: function()
> {
> console.log("drag
> start");
> },
> stop: function()
> {
>
> jQuery(this).draggable("destroy");
> }
> }).trigger("mousedown.draggable",
> [ev]);
>
> });
>
> jQuery("#fireDragDiv").bind("click",
> function(eventData) {
>
> jQuery('#draggableDiv').triggerHandler("mousedown", eventData);
> });
>
> jQuery("#draggableDiv").bind("mousedown",
> function() { console.log
> ("Mouse down handler was fired " + new Date().getTime()); });
>
> jQuery("#draggableDiv").draggable({ helper:
> "clone" });
>
> });
> </script>
> <style type="text/css">
> #myDiv .drag-me
> {
> margin: 5px;
> width: 20px;
> height: 20px;
> background-color: red;
> }
>
> #fireDragDiv
> {
> width: 50px;
> height: 50px;
> background-color: blue;
> }
>
> #draggableDiv
> {
> width: 50px;
> height: 50px;
> background-color: green;
> }
> </style>
> </head>
> <body>
> <div id="myDiv">
> <div class="drag-me"></div>
> <div class="drag-me"></div>
> <div class="drag-me"></div>
> <div class="drag-me"></div>
> <div class="drag-me"></div>
> <div class="drag-me"></div>
> <div class="drag-me"></div>
> </div>
> <div id="fireDragDiv">
>
> </div>
> <div id="draggableDiv">
>
> </div>
> </body>
> </html>
>
> Could you forward me details of your fix please?
>
> On Feb 5, 9:38 am, BillyRayPreachersSon
>
> <[email protected]> wrote:
> > Great, thanks Scott.
>
> > I'd put a similar fix in my local copy, but it's good to know I'll be
> > able to use an unmodified UI (core, at least) when 1.6 'proper' is
> > released.
>
> > Dan
>
> > On Feb 5, 2:33 am, Scott González <[email protected]> wrote:
>
> > > Fixed.
>
> > > On Feb 4, 8:55 pm, Scott González <[email protected]> wrote:
>
> > > > I've created a ticket for this:http://dev.jqueryui.com/ticket/4061
>
> > > > Thanks for the test case.
>
> > > > On Feb 3, 2:40 pm, BillyRayPreachersSon
>
> > > > <[email protected]> wrote:
> > > > > Last night I upgraded from jQuery 1.2.6 and UI 1.5.3 to jQuery 1.3.1
> > > > > and UI 1.6rc6 without too many problems at all (which is fantastic!).
>
> > > > > The only problem I've found is when firing a mousedown event on an
> > > > > element that has draggable (or potentially, any mousedown) behaviour
> > > > > attached. This now throws an error on the following line of
> > > > > $.ui.mouse._mouseDown, due to 'originalEvent' not being present:
>
> > > > > if (event.originalEvent.mouseHandled) { return; }
>
> > > > > Here's a cut-down test harness which illustrates the problem nicely:
>
> > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
> > > > > "http://www.w3.org/TR/html4/loose.dtd">
> > > > > <html>
> > > > > <head>
> > > > > <title>jQuery Event Test</title>
> > > > > <meta http-equiv="Content-Type" content="text/html;
> > > > > charset=UTF-8">
>
> > > > > <script type="text/javascript"
> > > > > src="assets/js/jquery-1.3.1.js"></
> > > > > script>
> > > > > <script type="text/javascript" src="assets/js/jquery-ui-
> > > > > personalized-1.6rc6.js"></script><!-- core, mouse, draggable,
> > > > > resizable -->
>
> > > > > <script type="text/javascript">
> > > > > jQuery(function() {
> > > > > jQuery('#mouseFireManual').bind('click',
> > > > > function(eventData) {
> > > > >
> > > > > jQuery('#draggableDiv').triggerHandler('mousedown', eventData);
> > > > > });
>
> > > > > jQuery('#draggableDiv').bind('mousedown',
> > > > > listenForMouseDown);
>
> > > > > jQuery('#draggableDiv').draggable({});
> > > > > });
>
> > > > > function listenForMouseDown() {
> > > > > document.title = 'Mouse down handler was
> > > > > fired ' + new Date
> > > > > ().getTime();
> > > > > }
> > > > > </script>
> > > > > </head>
>
> > > > > <body>
> > > > > <div id="mouseFireManual">Fire mouse down event</div>
> > > > > <br />
>
> > > > > <div id="draggableDiv">This DIV is draggable</div>
> > > > > </body>
> > > > > </html>
>
> > > > > If you click the 'Fire mouse down event', you'll get an error, but you
> > > > > drag 'draggableDiv' without any problem.
>
> > > > > Switching in jQuery 1.2.6 and UI 1.5.3 with no other code changes, and
> > > > > the error goes away.
>
> > > > > Is this something I should report as a bug, or is this expected
> > > > > behaviour with the new event model?
>
> > > > > Thanks!
>
> > > > > Dan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---