Я пытаюсь создать способ, чтобы мои селекторы «слушали» «глобальные» события, которые выходят за рамки обычного «click» «change» submit и т. Д. Я исследовали различные «eventmanagers», которые я мог найти, и они все еще предназначены для форм. Есть ли способ сделать что-то подобное для нестандартных (т. Е. Пользовательских) событий? Цель состоит в том, чтобы селекторы подписывались на какое-либо событие, а затем могли вызвать его в один место, и он поднимет его для всего, что подписались на него.прослушивание событий jquery, нестандартные события
Вставка примера демонстрации.
return this.each(function() {
$(this).live('ON_CONTENT_CHANGING', function (e) {
$(this).block({
overlayCSS: { opacity: 1, color: '#000' },
timeout: 800
});
e.preventDefault();
});
$(this).live('ON_CONTENT_CHANGED', function (e) {
$(this).sliding();
$(this).unblock();
e.preventDefault();
});
// Остальные плагин ...
$("*").trigger('ON_CONTENT_CHANGING');
Кроме того, если вы используете «живой()» вместо «связывания()» вы можете связать для селектора и новых элементов, которые соответствуют селектору, будут подписаны на это событие, даже если они не существовали при настройке привязки. –
@JacobM :: Однако имейте в виду, что live до 1.4 был ограничен щелчком, dblclick, keydown, keypress, keyup, mousedown, mousemove, mouseout, mouseover и mouseup. Источник: http://api.jquery.com/live/ – Powerlord
Я где-то читал, что селектор «*» довольно плох в использовании, есть ли какая-то правда? Не будет ли это распространяться на каждый пункт в DOM? – Ciel