Я знаю, что это тот случай, который я добавляю с помощью 'bind ()' ...
click(func...)
- это просто сокращение для bind('click',...
).
Если вы назначите тот же обработчик для элемента управления, то вам следует удалить его перед повторным подключением. В противном случае обработчик будет выполнен более одного раза.
Если у вас есть ссылка на обработчик в любом случае, вы можете просто сделать:
$element.unbind('click', handler);
Это удаляет только обработчик событий handler
и оставляет все остальные нетронутыми.
В этом контексте могут быть интересны пространства имен событий :
Если вы хотите привязать несколько обработчиков событий к элементу, но хотите запретить повторное связывание одного и того же обработчика событий (и у вас нет ссылки на исходный обработчик), вы можете использовать пространства имен:
$element.bind('click.onlyone', function()...);
$element.unbind('click.onlyone');
//or $element.unbind('.onlyone');
$element.bind('click.onlyone', function()...);
Обновление:
bind
не удалит предыдущие обработчики. Поэтому, если вы не хотите, чтобы они запускались, вы должны сначала unbind
их ...