【发布时间】:2013-08-04 17:59:41
【问题描述】:
我可以检查是否设置了 onresize 方法吗?
我以前用过:
$(window).resize(function() { /* ... */ });
由于另一个库中的未知错误,onresize 不再被调用。执行上述行后,它再次完美运行。该方法被调用一次。如果我再次在 Firebug 控制台中执行该行,则会调用该方法两次。
我想写一个解决方法,它会在“重置”后立即设置onresize。
我正在寻找类似的东西:(undefined or null)
if (window.onresize == undefined) { /* ... */ }
外部库/框架是 Richfaces 4(扩展数据表)。一旦我对一列进行排序,一些 onresize 函数处理程序就消失了。
之前:
$._data(window,'events').resize
// result on the Chrome console:
[Object, Object, Object, Object]
使用排序后:
$._data(window,'events').resize
// result on the Chrome console:
[Object]
我正在寻找一种方法来编写解决方法。
JIRA 问题
- https://issues.jboss.org/browse/RF-13117(在未来版本 4.3.4 中修复)
【问题讨论】:
-
一重置?你那是什么意思?您想检查屏幕是否调整大小并触发功能?
-
为什么不适当地使用jQuery的
.on和.off呢?那不行吗? -
@IanClark - +1,每当有人需要检查是否设置了事件处理程序时,他们可能做错了什么。
-
修复另一个库中的错误,而不是解决它。可能他们正在调用
$(window).off("resize"),而没有将其限制为他们自己的事件处理程序。 -
听起来你的插件在没有命名空间的情况下调用
.off。对开发人员大喊大叫,直到他们解决这个问题。他们是一个糟糕的开发人员。
标签: javascript jquery richfaces