在jquery中激活并触发

Live and trigger in jquery

本文关键字:激活 jquery      更新时间:2023-09-26

我有一个函数:

$('#def_video_settings .add_rem:contains(-)').live('click', function(){
        // do something
    });

我想在另一个地方执行代码"//做某事"。像这样的

$('#def_video_settings .add_rem:contains(-)').trigger('click'); 

但它不起作用。

有可能吗?:)

http://jsfiddle.net/tjUk5/

HTML

<div id="def_video_settings">
    <a class="add_rem">123-abc</a>
</div>​

编写脚本

$('#def_video_settings .add_rem:contains(-)').on('click', function(){
    alert('do something');
});
$('#def_video_settings .add_rem:contains(-)').trigger('click');
​

这是正常的。

如果您是动态添加内容,情况可能会有所不同。

$('#def_video_settings .add_rem:contains(-)').click();

希望这能有所帮助!

我不确定这是否算是预期的答案,但我的第一个猜测是

$('#def_video_settings .add_rem:contains(-)').live('click', fnDoSomething);

作为一个适当的函数,而不是一个匿名函数,你可以从其他地方调用它吗?

function fnDoSomething(){ // Do Something }

当然,我可能错了。