2013-04-04 2 views
0

У меня есть привязывающие метки на моей странице. И имеют события .click(), написанные для некоторой функциональности, Я хотел отключить действия на загрузке страницы и активировать действия на некоторых нажатиях кнопок.JQuery привязки и отвязывание событий для привязывающих тегов

Для предотвращения действий я могу использовать unbind («click»). Но не может связываться как .Bind («click») требует имени функции.

Pls помочь мне

ответ

2

Вместо того, чтобы беспокоиться о отсоединение и реплантации события можно хранить в href в атрибуте data- затем установите href в #. Когда нажата кнопка включения, мы можем восстановить href.

jsFiddle

HTML

<a href="http://www.google.com">Google</a> 
<button id="enable">Enable</button> 

JS

$(document).ready(function() { 
    $('a').each(function() { 
     disableAnchor($(this)); 
    }); 
    $('#enable').click(function() { 
     $('a').each(function() { 
      enableAnchor($(this)); 
     }); 
    }); 
}); 
function disableAnchor(a) { 
    a.attr('data-href', a.attr('href')); 
    a.attr('href', '#'); 
} 
function enableAnchor(a) { 
    a.attr('href', a.attr('data-href')); 
} 
0

использование на странице загрузки

$(function(){ 
    $("a").removeAttr('onclick'); 
}); 
Смежные вопросы