如何查找功能是否开启

时间:2015-09-17 12:08:53

标签: jquery html function

我有5个元素,类foo。并且像这样附加一个函数

$('.foo').on('click',someFunction)

但其中一项功能是off()。我想遍历这些元素并找到关闭函数的元素。任何人都可以告诉我如何实现这一目标。

2 个答案:

答案 0 :(得分:1)

你说你取消绑定了点击元素的处理程序,所以this关键字已经引用了那个元素!您可以使用jQuery.prototype.add方法将单击的元素存储在数组或jQuery集合中,并在需要时使用它们。

另一个选择是向元素添加标识符(例如类名):

$(this).off('click', someFunction).addClass('bar');

现在您只需使用以下命令获取目标元素:

$('.foo.bar');

答案 1 :(得分:0)

如果你想在另一个函数或脚本中的其他地方引用这个元素,只需使用一个全局变量(最后一个字符串或全部数组" click-ignoring" element / s)并将其存储在那里可能是这样的:

var lastClickedElement = "";
$(".foowrap .foo").each(function(){
    $(this).on("click", function(){
        $(this).off("click");
        lastClickedElement = $(this);
    });
});

或者,如果您不想存储整个元素,您只需存储它的索引即可。为此,请将lastClickedElement = $(this);替换为lastClickedElement = $(this).index();。 然后,您可以将其称为$(".foowrap .foo").index(lastClickedElement)