我有一些动态预先添加到我网站上某个区域的元素,但我需要先注意一些内容,因此它可以触发事件。
元素前缀如此
something.prependTo('#area')
前置元素就像这样
<div id="box1" class="box new">
我已经尝试过以下各项但没有运气......
$('.new').on(playSound());
$('.new').bind('DOMSubtreeModified', playSound());
$('.new').each(playSound());
$('.new').live(playSound());
$('.new').livequery(playSound());
当页面最初加载时播放声音,但不会在元素前置时播放。
答案 0 :(得分:2)
$('#area').on('DOMNodeInserted', function(e) {//whenever an element is inserted
if ($(e.target).is('.new')) { //check if it has the right class
playSound(); //and play sound
}
});
它不能在IE中工作,因为没有支持,如果我没记错,突变事件已被弃用,所以不能保证未来的支持吗?
答案 1 :(得分:1)
我会说:
function prependWithSound(something){
something.prependTo('#area')
playSound();
}
然后拨打prependWithSound(something)
而不是something.prependTo('#area')
。
为什么要让生活更加艰难呢?
答案 2 :(得分:1)