Задать строкой ф-ию onclick ссылки, jQuery
Есть ссылка:
<a href="ya.ru" id="rrr" onclick="return make_unclickable(this);">тест</a> код make_unclickable: function make_unclickable(elem) { // не работает $(elem).attr('click', 'return false;'); // не работает в IE var t = elem.attributes.getNamedItem('onclick'); if (t) { t.nodeValue = 'return false;'; } $(elem).attr('onclick', 'return false;'); $(elem).attr('href', '#'); return false; } Больше всего удивляет, что не работает через .attr! Пробовал делать .unbind('click') и .bind('click'...) но нужно эффекта не добился Подскажите - в чём косяк? |
<a href="ya.ru" id="rrr" onclick="make_unclickable(this);">тест</a> а так пробовали? Ой забыл поинтересоваться, а что делает такая хитроумная функция и зачем она такая хитроумная?:) |
Что, так не работает уже?
$('.unclickable').click(function(){return false;}); |
Gozar,
необходимо, чтобы если в onclick чтото было, его тоже больше не стало, а вообще href нормельно меняется, и в FF вобще пример работает как нужно $(elem).click(function() {return false;}); Так работает, но click биндит новую ф-ию как listener в очереди, поэтому старый код продолжает вызываться Вариант elem.onclick = function() {return false;}; Работает как нужно и в IE и в FF, но както смущает меня такой вариант :) Gozar, ничего особенно хитроумного нету - ссылка после разового применения становится неактивной |
Тогда
$(elem).unbind('click').click(function() {return false;}); |
e1f,
Да, спасибо, так работает правильно |
Часовой пояс GMT +3, время: 18:43. |