Как отменить событие изменения для элементов управления аккордеоном - PullRequest
7 голосов
/ 01 декабря 2010
$("#accordion").accordion({
    change: function (event, ui) {
        alert('event have to be changed')
    },
    changestart: function (event, ui) {
       return false;
    }
});

Можно ли отменить событие изменения?

Ответы [ 6 ]

3 голосов
/ 16 марта 2012

stopPropagation () - это ключ к остановке действия jQueryUI из обработки, но его необходимо прервать ДО события changetart. Например, когда элемент заголовка фактически нажат.

Если это пара заголовков / контента в вашем аккордеоне:

<h3 class='noexpand'>This is a dummy header</h3>
<div>This is dummy content</div>

Тогда это не позволит аккордеону расширять div при нажатии на заголовок:

$("h3.noexpand").click(function(e) {
    e.stopPropagation();
});

См. jquery гармошка, предотвращающая пузыри / разрешить действие ссылки по умолчанию .

3 голосов
/ 28 июня 2011

Я не уверен в изменении, но для других событий в jqueryui возвращение false отменяет событие.

2 голосов
/ 08 апреля 2014

Как сказал Мартин, вы можете вернуть false. Смотрите пример кода ниже.

...
eventname: function( event, ui ) {
    // Add your code here
    ...

    return false;
}
1 голос
/ 01 декабря 2010
event.preventDefault();
event.stopPropagate();
0 голосов
/ 21 октября 2016

Что сработало для меня, так это вызов:

function onChange(e, ui) {
    e.preventDefault();
    e.stopPropagation();
}

Возвращение false в конце функции имеет тот же эффект, поскольку это эквивалентно выполнению этих двух вызовов функции.

0 голосов
/ 04 сентября 2014

Возвращение false ничего не делает, чтобы отменить событие в jQueryUI, необходимо вызвать на событие warnDefault ().

$("#accordion").accordion({
    changestart: function (event, ui) {
       event.preventDefault();
    }
});

Это должно работать со всеми методами событий, включая автозаполнение.Удобно, если вы хотите включить в меню автозаполнения несколько пользовательских опций, которые вы хотите, чтобы кто-то выбрал, но на самом деле не хотите добавлять к входу, к которому он привязан.:)

...