检测文档的外观何时发生变化
javascript: detect when the appearance of the document has changed
是否有一种方法可以检测文档的外观何时发生了变化?例如:
$(document).on('change??', function () {
console.log('My aspect has changed');
});
// changes the appearance of a particular div
$('#my-div').css({width: 320, height: 240});
还有,是否有一种"渲染"事件?每次浏览器重新绘制页面时都会触发此事件。例如:
$(document).on('render', function () {
console.log('The page has been redrawn');
});
我不知道有这样的事件,但如果你能控制所有的变化,你可以很容易地引起自己的事件。
下面是一个简单的基于JQuery的例子来说明这个想法。$( "#test" ).on( "mysitechanged", function( event, param1, param2 ) {
alert( 'changed' );
});
$( "#test").trigger( "mysitechanged", [ "Custom", "Event" ] );
http://api.jquery.com/trigger/这里是关于如何在纯JavaScript中做到这一点的信息
如何在JavaScript中触发事件?
既然我认为你试图检测方面是否已经改变,这就是你正在寻找的。
window.onresize = function(){
// your code goes here;
}
这是一个很好的例子,如何窗口。调整大小事件:http://jsfiddle.net/CoryDanielson/LAF4G/
我也在寻找。显然不是。然而,应该有可能实现一个。据我所知,要改变文档的外观,以下条件之一是正确的:
- DOM已经改变
- 视口改变(调整大小,方向改变,媒体改变等)
你可以使用MutationObserver来检测DOM的变化,并使用原生JavaScript事件(onresize等)来检测视口的变化。
我不确定这是必要的还是有用的(事件应该涵盖所有现实的情况),但是window.matchMedia(media). addlistener()也会通知你关于媒体的变化。
DOM或视口的更改并不一定意味着外观的更改,因此您应该对页面进行一些测量以验证是否有任何更改。
更现实和实用的是,假设你构建了页面或应用程序,你应该能够预测什么会导致外观的变化(例如:通过ajax加载新内容,用户输入或点击按钮,收到新消息,页面大小调整等),并观察这些动作。
相关文章:
- 单击页面上的链接后高度发生变化
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 回发时回显值
- React redux初始化功能,无论状态变化如何
- 浏览器何时记录历史记录
- 为什么要对define.md和module.exports进行条件检查,以及条件何时通过
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 让javascript知道epub3电子书中何时播放媒体覆盖
- 如何判断何时将dom节点添加到文档中
- JS幻灯片与CSS背景颜色变化
- 重新加载页面时Javascript变量发生变化
- 如何获得Bootstrap Datepicker的年和月,因为它在变化
- 如何用jquery替换字符串中可能变化的字符
- 检测 DIV 的高度何时变化,而无需轮询或突变观察者
- Javascript:Coderbyte挑战4:字母变化:帮助分析代码:这是如何大写元音的,以及何时执行else语句
- 如何检测CSS值何时发生变化
- 如何检测DOM元素的class属性何时发生变化
- js:如何观察输入字段中的值何时发生变化
- 检测文档的外观何时发生变化