Сам триггерный элемент JQuery в привязке

0

Может кто-нибудь объяснить мне, почему этот фрагмент не может работать?

Я не могу использовать определенные функции, такие как window.location, submit(), (вместо trigger()), потому что эта функция связана с элементами, которые являются очень разными.

$('a, button').bind('click', function(oEvent, oData) {
    var oButton = $(this);
    var bSkip   = (oData && oData.skip);

    if(true === bSkip) {
        return true;
    } else {
        oEvent.preventDefault();
        //oEvent.stopPropagation();

        if(confirm('This is a confirm box')) {
            $(oButton).trigger('click', { skip: true });
        }
    }
});

Заранее спасибо ! ;)

Теги:
triggers
bind

1 ответ

1
Лучший ответ

В вашем случае, даже если событие click активируется, поведение ссылок по умолчанию может не запускаться из-за ограничений, наложенных браузером

Если я понимаю, что вы пытаетесь сделать правильно (если действие s не подтвердилось, отмените поведение по умолчанию), вы можете достичь этого ниже: нет необходимости запускать событие снова

$('a, button').bind('click', function (oEvent, oData) {
    if (confirm('This is a confirm box')) {
        return true;
    } else {
        oEvent.preventDefault();
    }
});

Демо: скрипка

  • 1
    @ downvoter я что-то пропустил

Ещё вопросы

Сообщество Overcoder
Наверх
Меню