Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 监听窗口onresize,不包括jquery对话框';s onresize_Javascript_Jquery_Dialog_Resize - Fatal编程技术网

Javascript 监听窗口onresize,不包括jquery对话框';s onresize

Javascript 监听窗口onresize,不包括jquery对话框';s onresize,javascript,jquery,dialog,resize,Javascript,Jquery,Dialog,Resize,我需要监听window.onresize事件,因此,使用jquery,我将执行以下操作 $(window).resize(...) 当我打开一个jquery ui可调整大小的对话框并调整其大小时,也会触发onresize窗口,但我不想对此事件做出反应。如何才能做到这一点 我需要听window onresize以在窗口大小更改时调整内部面板的大小以对我的评论进行少量扩展:在设置可调整大小的对话框时,尝试调用resize回调处理程序中传递给resize属性的事件.stopPropagation()

我需要监听window.onresize事件,因此,使用jquery,我将执行以下操作

$(window).resize(...)
当我打开一个jquery ui可调整大小的对话框并调整其大小时,也会触发onresize窗口,但我不想对此事件做出反应。如何才能做到这一点


我需要听window onresize以在窗口大小更改时调整内部面板的大小

以对我的评论进行少量扩展:在设置可调整大小的对话框时,尝试调用
resize
回调处理程序中传递给
resize
属性的
事件.stopPropagation()
。代码如下所示:

$('selector-for-dialog').resizable({
    resize: function(event, ui) {
        // do some stuff to react to this event here
        event.stopPropagation();
    }
});

要对我的评论进行少量扩展:在设置可调整大小的对话框时,尝试调用传递给
resize
属性的
resize
回调处理程序中的
event.stopPropagation()
。代码如下所示:

$('selector-for-dialog').resizable({
    resize: function(event, ui) {
        // do some stuff to react to this event here
        event.stopPropagation();
    }
});

在jQuery1.7.2中,我使用了在旧IE浏览器和Chrome浏览器上工作的代码

$(window).bind('resize', function(event) {
    if ($(event.target).prop("tagName") == "DIV") {return;}  // tag causing event is a div (i.e not the window)
    console.log("resize");
});

如果调整大小的元素不是JQuery 1.7.2中的

元素,则可能需要对其进行调整。我使用的这段代码适用于较旧的IE浏览器以及Chrome浏览器

$(window).bind('resize', function(event) {
    if ($(event.target).prop("tagName") == "DIV") {return;}  // tag causing event is a div (i.e not the window)
    console.log("resize");
});

如果调整大小的元素不是一个

我不能保证这会起作用,但是您可以尝试附加一个回调处理程序,为可调整大小的
resize
事件调用
stopPropagation()
。这将有望防止它一直冒泡到窗口。我不能保证这会起作用,但是您可以尝试附加一个回调处理程序,为可调整大小的
resize
事件在事件上调用
stopPropagation()
。这将有望防止它一直冒泡到窗口。您的代码不起作用,但执行$('selector-for-dialog')。dialog({resize:function(event,ui)…将调整大小的乐趣注入到对话框中。该乐趣被称为onresize,但在窗口调整大小侦听器之后调用!!因此,遗憾的是,这并不能解决问题您的代码不工作,而是执行$('selector-for-dialog')。dialog({resize:function(event,ui)…将调整大小的乐趣注入到对话框中。该乐趣被称为onresize,但它在窗口调整大小侦听器之后被调用!!因此,遗憾的是,这并不能解决问题