Вы можете прикрепить обработчик .click()
к document
и проверить, была ли цель клика элементом, о котором вы заботились, подобно тому, как .live()
ведет себя внутренне, например:
$(function() {
var tagFlag = '';
$("#a1").click(function(event) {
event.preventDefault();
tagFlag = 'me';
});
$(document).click(function(e) {
if(tagFlag && //is it even set?
(e.target.id == tagFlag || $(e.target).closest('#'+tagFlag).length)) {
//do work here
}
});
});
Вы можете попробовать его здесь , единственное изменение в вашей разметке - это добавление дочернего элемента (чтобы показать, как работает кликирование / обработка кликов) и предоставление привязке a1
ID I думаю вы хотели, чтобы это было в вопросе.
В качестве альтернативы, если вы знаете набор элементов, по которым можно щелкнуть, задайте им класс и свяжите с ними обработчик, проверив идентификатор, как у меня выше ... или отмените привязку класса и каждый раз привязывайте к определенному идентификатору Есть несколько способов сделать это:)