jquery可以捕获动态dom事件并执行操作

时间:2012-10-10 02:37:27

标签: jquery ajax javascript-events

我只是想知道这样的事情是否可行。

Jquery应该对certian自定义事件触发一些操作。

就像每当动态地向桌面添加新行时,我就会有一些动作,例如将背景颜色更改为示例红色。

这应该适用于整个网站。

Event listenersDoctrine2

中的Signals in Django等内容

编辑:

基本上我想要一些像我可以创建自定义事件的地方

$.AddnewEvent(newRowAdded);

然后我可以使用我自己的函数来自定义该事件,例如

$.newRowAdded(function(){ blah blah });

2 个答案:

答案 0 :(得分:3)

正如您所说 - 自定义事件,我相信您必须编写自己的自定义触发器代码。

$('<tr><td>new row</td></tr>').appendTo('#my_table').animate({backgroundColor: '#f00'});

彩色动画需要jQuery Color plugin

更新

不确定自定义事件在整个网站上的用途是什么意思

因为每次要添加新行时都必须手动将新元素附加到表中,只需在追加后添加动画即可。我不认为有一个内置事件监听器会自动为你做这件事。

你可以写一个小函数

$.fn.colorRow = function() {
    $(this).animate({backgroundColor: '#f00'}, function() {
        $(this).animate({backgroundColor: '#fff'});
    });
};

并在插入新行后附加此函数。

$('<tr><td>new row</td></tr>').appendTo('#my_table').colorRow();

答案 1 :(得分:0)

jQuery中有很多事件监听器,我只举几个

$(selector).click(function(){/*some function*/}) will fire when that element selected is clicked
$(selector).submit(function(){/*some function*/}) will fire when a form is being submitted

在您的基础中,如果您想要在红色时更改颜色,则可能需要在单击添加按钮时执行背景颜色更改功能

希望这有帮助。