2013-04-15 6 views
0

У меня есть несколько кнопок, но в зависимости от того, какой переключатель выбран, я хочу, чтобы произошло 1 из 2 вещей. например,jquery удалить событие onclick

, когда выбрана кнопка радиостанции, и кнопка нажата, а затем отображает все здания, но не показывает парки. Аналогично, когда выбран переключатель радиостанций, и кнопка нажата, показывает все парки, но не показывает здания.

Я хочу удалить событие onclick для соответствующей функции, которая не требуется, я мог бы это сделать.

$('#youLinkID').attr('onclick','').unbind('click'); 

однако это приведет к удалению ОБА OnClick события.

Есть ли способ удалить только одно событие onclick, возможно, по имени или способ добавить событие onclick по имени?

EDIT: поэтому я использовал помощь Марку ниже и использовать пространство имен, и пришел с этим:

$('#showOver').bind('click.buildOver', function(){ 
     $(this).unbind('click.parkOver') 
    }); 

не работает, однако, я знаю его, назвав его и работать, как это работает мой тест ,

.css({"backgroundColor":"black","color":"white"}) 

Он не этого нужно просто кажется, добавить событие OnClick из buildOver функции()

+0

делать у меня 2 'click' события на том же контроль? –

+0

, почему вы не используете другой идентификатор для переключателей и пытаетесь удалить событие для определенного переключателя (на основе идентификатора), когда это не требуется, и добавьте при необходимости. – dreamweiver

+0

Использование пространств имен представляется лучшим вариантом здесь –

ответ

2

Вы можете использовать пространство имен для unbind partiuclar обработчика щелчка.

$("a").bind("click.pick1", function() { 
    alert('pick 1'); 
    $(this).unbind("click.pick1"); 
}).bind("click.pick2", function() { 
    alert('pick 2'); 
}); 

Example on jsfiddle

+0

см. В разделе «Редактирование OP». – jerrythebum

+0

использовать события «вкл» и «выкл.» Вместо устаревших привязок и отменить события. – Foreever

0

Проверьте это: DEMO

<a href="#" onclick="alert('hello');">I produce an alert via onclick</a> 
<a href="#" onclick="alert('hello');">Me too</a> 

<a href="#" onclick="$('a').removeAttr('onclick');">I remove them</a> 

Трюк этот код:

$('a').removeAttr('onclick'); 

REFERENCE

Смежные вопросы