Opened 5 years ago

Closed 5 years ago

Last modified 3 years ago

#7514 closed bug (notabug)

resizable() triggers a $(window).resize with jQuery 1.6.1

Reported by: slavik524 Owned by:
Priority: minor Milestone: 1.9.0
Component: ui.resizable Version: 1.8.13
Keywords: Cc:
Blocked by: Blocking:

Description

When start resizing a resizable div, $(window).resize fires immediately and continues to trigger until I stop resizing a div. It only behaves this way with jQuery 1.6.1 (all is fine with 1.5.2). Sample code:

<!DOCTYPE html>
<html>
<head>
    <script src="js/jquery-1.6.1.min.js" type="text/javascript"></script>
    <script src="js/jquery-ui.js" type="text/javascript"></script>

    <style type="text/css">
        #div1 {
            width: 200px;
            height: 200px;
            top: 100px;
            left: 100px;
            position: relative;
            background: #888;
        }
        .ui-resizable-e {
            width: 12px;
            height: 100%;
            top: 0;
            right: 0;
            position: absolute;
            background: #333;
            cursor: e-resize;
        }
    </style>

    <script type="text/javascript">
        $(function() {
            $("#div1").resizable({ handles: "e" });
            $(window).resize(function() { alert("Window resized"); });
        });
    </script>

</head>
<body>

<div id="div1"></div>

</body>
</html>

Change History (8)

comment:1 Changed 5 years ago by scottgonzalez

  • Resolution set to invalid
  • Status changed from new to closed

This is a bug in jQuery core: http://bugs.jquery.com/ticket/9841

comment:2 Changed 4 years ago by brotherli

Can be workarounded with target checking:

$(window).resize(function(e) {
  if (e.target == window)
    /* do your stuff here */;
});

comment:3 Changed 3 years ago by rcoleman

I understand why this and the jQuery core bugs were closed as invalid, but should we not be able to prevent the resize event from bubbling within the Resizable resize event handler? Event.stopPropagation() and returning false have no effect.

comment:4 Changed 3 years ago by scottgonzalez

Event.stopPropagation() and returning false have no effect.

That is certainly not true. Please provide a reduced test case showing this behavior.

comment:5 Changed 3 years ago by scottgonzalez

#8881 is a duplicate of this ticket.

comment:6 Changed 3 years ago by scottgonzalez

#9350 is a duplicate of this ticket.

comment:7 Changed 3 years ago by adriantoine

This issue still occurs even when using event.stopPropagation() and 'return false' on the resize callback: http://jsfiddle.net/Alshten/LXqLz/

Last edited 3 years ago by adriantoine (previous) (diff)

comment:8 Changed 3 years ago by scottgonzalez

There is no propagation to stop inside the callback. The callback occurs *after* the event has propagated.

Note: See TracTickets for help on using tickets.