В JavaScripts события, запускаемые на каждом элементе HTML, передаются их родителям, поэтому, чтобы решить вашу проблему и сделать любой элемент способным обрабатывать пользовательское событие, не совершая что-то неправильное, например, $('*').bind('custom-event')
означает привязать слушателя к общий родительский элемент для всех элементов, body
или html
элементов:]
Итак, вам нужно только привязать событие к элементу body
или html
. Затем, когда какой-либо элемент внутри выбранного родительского элемента вызовет пользовательское событие, он будет распространен на этот родительский элемент.
И затем в обработчике события вы можете получить доступ к элементу, который вызвал событие, путем доступа к атрибуту target
для объекта события: event.target
Итак, код должен быть:
$('body').bind('custom-event', function(e){
var $element = e.target;
});
$('#anyElement').trigger('custom-event');