Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.03.2012, 18:09
Аватар для T-sh
Профессор
Отправить личное сообщение для T-sh Посмотреть профиль Найти все сообщения от T-sh
 
Регистрация: 04.12.2009
Сообщений: 579

Сообщение от Serg_pnz Посмотреть сообщение
Сбрасывать наверное надо не href, а событие, на него повешенное.
а смысл? если событие не принудительно вышается (не через js), то оно всё равно срабатывать будет только при наличии href'a.

а если принудительно — то да, сбрасывать событие.
__________________
С моих слов записано верно.
Ответить с цитированием
  #12 (permalink)  
Старый 06.03.2012, 18:15
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

T-sh,
ну вот и докопались до истины, что можно обойтись без div'а
Ответить с цитированием
  #13 (permalink)  
Старый 06.03.2012, 18:15
Аспирант
Отправить личное сообщение для alexandr_v-vich Посмотреть профиль Найти все сообщения от alexandr_v-vich
 
Регистрация: 30.01.2012
Сообщений: 78

Сообщение от T-sh Посмотреть сообщение
а смысл? если событие не принудительно вышается (не через js), то оно всё равно срабатывать будет только при наличии href'a.

а если принудительно — то да, сбрасывать событие.
Принудительно. И сбросить мне его тяжело....быстрее и проще даже div прозрачный...
Ответить с цитированием
  #14 (permalink)  
Старый 07.03.2012, 10:47
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

var toggleClickableLink = (function (){
    var stopHandler = function ( e ) { e.preventDefault && e.preventDefault() || (window.event.returnValue = false); };
    return document.addEventListener ? function ( linkObj ) {
        linkObj[ (linkObj.isDisable ? "remove" : "add") + "EventListener" ]("click", stopHandler, false);
        linkObj.isDisable = !linkObj.isDisable;
    } : function ( linkObj ) {
        linkObj[ (linkObj.isDisable ? "de" : "at") + "tachEvent" ]("onclick", stopHandler);
        linkObj.isDisable = !linkObj.isDisable;
    };
})();

toggleClickableLink( document.getElementById("myLink") );//запрещаем переход
toggleClickableLink( document.getElementById("myLink") );//возвращаем возможность перехода
Ответить с цитированием
  #15 (permalink)  
Старый 07.03.2012, 16:03
Аспирант
Отправить личное сообщение для alexandr_v-vich Посмотреть профиль Найти все сообщения от alexandr_v-vich
 
Регистрация: 30.01.2012
Сообщений: 78

nikita.mmf, к сожалению ничего не понял, но это мои проблемы, небольшой вопрос - мне нужно не переход запретить, а сам клик, то, что вы написали про это?
Ответить с цитированием
  #16 (permalink)  
Старый 07.03.2012, 16:35
Аспирант
Отправить личное сообщение для vladimircape Посмотреть профиль Найти все сообщения от vladimircape
 
Регистрация: 25.01.2012
Сообщений: 95

Сообщение от nikita.mmf Посмотреть сообщение
var toggleClickableLink = (function (){
    var stopHandler = function ( e ) { e.preventDefault && e.preventDefault() || (window.event.returnValue = false); };
    return document.addEventListener ? function ( linkObj ) {
        linkObj[ (linkObj.isDisable ? "remove" : "add") + "EventListener" ]("click", stopHandler, false);
        linkObj.isDisable = !linkObj.isDisable;
    } : function ( linkObj ) {
        linkObj[ (linkObj.isDisable ? "de" : "at") + "tachEvent" ]("onclick", stopHandler);
        linkObj.isDisable = !linkObj.isDisable;
    };
})();

toggleClickableLink( document.getElementById("myLink") );//запрещаем переход
toggleClickableLink( document.getElementById("myLink") );//возвращаем возможность перехода
Попробывал всё работает. А вот как такое сделать с <button>
Ответить с цитированием
  #17 (permalink)  
Старый 07.03.2012, 16:57
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
А вот как такое сделать с <button>
думаю также, тока передав id button'a. этот код кроссбраузерно вешает обработчик события который кроссбраузерно останавливает действие по дефолту (в данном случае переход поссылке). если button type=submit то должана отмениться отправка формы. проверьте. мне кажется должно сработать.
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать? При выходе мышкой за пределы окна браузера, начинает грузится другая стр alb Events/DOM/Window 13 01.09.2010 12:19
Как отлаживать события? Или как сделать трассировку вызовов функций? gennad Events/DOM/Window 1 18.08.2010 13:21
как сделать выпадающий список, чтобы второй зависил от значения первого???? zsaz jQuery 2 16.07.2010 20:12
Нужно сделать плавное появление текстового поля как на сайте vkontakte.ru paratrooper1981 Элементы интерфейса 1 23.11.2009 18:24
Вопрос как сделать эту панельку Определённых размеров и свойств. jei jQuery 3 09.06.2009 19:14