仅向主体添加一次事件

时间:2012-08-17 09:41:11

标签: jquery

我正在尝试更改后续行,只添加一次处理程序

$('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {
})

我的想法是在第一次添加绑定后向元素添加一个属性,并在添加绑定之前检查该元素是否具有该属性。

设置属性很简单:

$('body').find('[data-toggle=collapse]').attr('data-loaded',"true");

但是要更改选择器以检查属性是否未设置是困难的部分。

我尝试过类似的事情:

$('body').on('click.collapse.data-api', '[data-toggle=collapse] :not([data-loaded])',function ( e ) {
})

但它不起作用......

有人可以帮忙吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我只是猜测一下?

$('body').on('click', '.collapse.data-api[data-toggle="collapse"]', function(e) {
    if (!$(e.target).data('loaded')) $(e.target).attr('data-loaded', true);
});​

FIDDLE