Javascript 侦听元素前置
我有一些元素是动态地预先添加到我的站点上的某个区域的,但是我需要一些东西来监听它们,这样它就可以触发一个事件 元素是这样预先设置的Javascript 侦听元素前置,javascript,jquery,listener,Javascript,Jquery,Listener,我有一些元素是动态地预先添加到我的站点上的某个区域的,但是我需要一些东西来监听它们,这样它就可以触发一个事件 元素是这样预先设置的 something.prependTo('#area') 前面的元素是这样的 <div id="box1" class="box new"> 当页面最初加载时,声音会播放,但在元素前面加上前缀时不会播放。我想说: function prependWithSound(something){ something.prependTo('#area'
something.prependTo('#area')
前面的元素是这样的
<div id="box1" class="box new">
当页面最初加载时,声音会播放,但在元素前面加上前缀时不会播放。我想说:
function prependWithSound(something){
something.prependTo('#area')
playSound();
}
然后调用prependwithound(something)
而不是something.prependTo('#area')
为什么要让生活变得更艰难呢?我想说:
function prependWithSound(something){
something.prependTo('#area')
playSound();
}
$('#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
}
});
然后调用prependwithound(something)
而不是something.prependTo('#area')
为什么要让生活变得更艰难呢
$('#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中不起作用,因为没有支持,而且如果我没记错的话,突变事件是不推荐的,所以也不能保证将来支持它
它在IE中不起作用,因为没有支持,而且如果我没记错的话,突变事件是不推荐的,因此也不能保证将来会支持它?可以做到,但正如@Bergi所指出的,您必须删除参数:
$('.new').livequery(playSound);
可以,但正如@Bergi所指出的,您必须删除paren:
$('.new').livequery(playSound);
在
prependTo
调用之后添加playSound()
代码行有什么不对?是什么导致了prepend的发生?为什么你不能在那里触发一个事件?如果您使用的是playSound
而不是playSound()
,并且包含了livequery插件,那么livequery应该可以工作。请删除playSound
后面的括号!!!您希望绑定函数,而不是调用它。$('#area')。on('DOMNodeInserted',playSound)代码>@adeneo是否有方法检查插入的DOM节点的类?我只需要为某些课程启动playSound事件。阿彻,这不是我的网站,所以我没有能力编辑代码。我正在为它开发一个插件。在prependTo
调用之后添加playSound()
代码行有什么不对?是什么导致了prepend的发生?为什么你不能在那里触发一个事件?如果您使用的是playSound
而不是playSound()
,并且包含了livequery插件,那么livequery应该可以工作。请删除playSound
后面的括号!!!您希望绑定函数,而不是调用它。$('#area')。on('DOMNodeInserted',playSound)代码>@adeneo是否有方法检查插入的DOM节点的类?我只需要为某些课程启动playSound事件。阿彻,这不是我的网站,所以我没有能力编辑代码。我正在为它做一个插件。