是否有任何方法可以触发属性更改事件(可能是自定义)?
让我们说,当IMG src被改变或DIV的innerHtml?
我需要一个函数来在divs data-page-index属性发生变化时运行
var active = $('.swipeview-active'),
dpi = parseInt(active.attr('data-page-index')),
left = $('[data-page-index="' +prev+ '"]').children("img").eq(0),
right = $('[data-page-index="' +next+ '"]').children("img").eq(0);
$(active.attr('data-page-index')).change(function(){
right.clone( true ). css({'z-index': 5}). fadeIn(2000).appendTo('#right');
left.clone( true ). css({'z-index': 5}). fadeIn(2000).appendTo('#left');
});
Run Code Online (Sandbox Code Playgroud)
我尝试了change()函数,但这似乎只适用于输入字段,
$(active.attr('data-page-index')).change(function(){
Run Code Online (Sandbox Code Playgroud)
有另一种方法来实现这一目标吗?谢谢.
我用Google搜索但找不到答案.
是否有可用于此功能的跨浏览器兼容性矩阵?
如果有人想知道答案,这里是:Mutation Observers vs Mutation Events/Browser Availability.
如果以前回答过这个问题,我很抱歉,我无法通过搜索找到它.
我必须标记4个元素,以便在它们被取消隐藏时触发事件("display:none"被删除).我认为mutObserver是正确的方法,但我很难过滤到我需要的事件.
有没有经验呢?
编辑:不幸的是,我们无法访问实际取消隐藏元素的脚本.他们由另一个团队拥有和保护.我们唯一可以关键的是当元素被取消隐藏时.
我试图弄清楚如何根据我的需要编辑它.
// Blocker is the element that has a changing display value
var blocker = document.querySelector( '#blocker' );
// Trigger changes the display value of blocker
var trigger = document.querySelector( '#trigger' );
// Our mutation observer, which we attach to blocker later
var observer = new MutationObserver( function( mutations ){
mutations.forEach( function( mutation ){
// Was it the style attribute that changed? (Maybe a classname or other attribute change could do this too? You might want …Run Code Online (Sandbox Code Playgroud)