$("#accordion").accordion({
change: function (event, ui) {
alert('event have to be changed')
},
changestart: function (event, ui) {
return false;
}
});
Можно ли отменить событие изменения?
$("#accordion").accordion({
change: function (event, ui) {
alert('event have to be changed')
},
changestart: function (event, ui) {
return false;
}
});
Можно ли отменить событие изменения?
Я не уверен в изменении, но для других событий в jqueryui возвращение false отменяет событие.
e.preventDefault();
и e.stopPropagation();
- person earl3s; 21.10.2016
stopPropagation () - это ключ к остановке обработки действия jQueryUI, но он должен быть прерван ПЕРЕД событием changestart. Например, когда действительно щелкают по элементу заголовка.
Если это пара заголовок / содержимое в вашем аккордеоне:
<h3 class='noexpand'>This is a dummy header</h3>
<div>This is dummy content</div>
Тогда это предотвратит расширение div аккордеоном при щелчке по заголовку:
$("h3.noexpand").click(function(e) {
e.stopPropagation();
});
См. аккордеон jquery для предотвращения всплывания / разрешения действия ссылки по умолчанию.
Как сказал Мартин, вы можете вернуть false. См. Пример кода ниже.
...
eventname: function( event, ui ) {
// Add your code here
...
return false;
}
Возврат false ничего не делает, чтобы отменить событие в jQueryUI, вам нужно вызвать preventDefault () для этого события.
$("#accordion").accordion({
changestart: function (event, ui) {
event.preventDefault();
}
});
Это должно работать со всеми методами событий, включая автозаполнение. Удобно, если вы хотите включить несколько настраиваемых параметров в меню автозаполнения, которые вы хотите, чтобы кто-то выбрал, но на самом деле не хотите добавлять к вводу, к которому он привязан. :)
Что сработало для меня, так это звонки:
function onChange(e, ui) {
e.preventDefault();
e.stopPropagation();
}
Возврат false
в конце функции имеет тот же эффект, потому что это эквивалент выполнения этих двух вызовов функций.
stopPropagation()
, а не stopPropogate ()
- person earl3s; 21.10.2016