Событие Click не работает с кнопкой закрытия диапазона

Я добавляю события кликов в contentscript.js расширения Chrome. Все события щелчка работают, как и ожидалось, за исключением одного элемента div this span, который представляет собой небольшую кнопку x для закрытия элемента li, который действует как вкладка в интерфейсе страницы.


/// content script
$("body").delegate("span", "click", clickEventFunction);
/////////  HTML of page
<span role="button" id="close" tabIndex="0" style="margin-left:3px;vertical-align:top"></span>

Я попытался добавить прослушиватель событий, а не делегировать. Я изменил селектор, чтобы использовать идентификатор или роль. Ничто не получает событие click. Тот же код работает с любым другим элементом на странице и другими элементами span. Использование простого javascript тоже не помогает.

Закрывается ли элемент до регистрации события клика?


person A. J. Green    schedule 20.10.2020    source источник
comment
Попробуйте прослушать в фазе capture mousedown.   -  person wOxxOm    schedule 20.10.2020
comment
@wOxxOm, спасибо. Это сделало это.   -  person A. J. Green    schedule 20.10.2020


Ответы (2)


Вам нужны кавычки вокруг тела:

/// content script
$(body).delegate("span", "click", clickEventFunction);

to

/// content script
$("body").delegate("span", "click", clickEventFunction);
person Jeremy Demers    schedule 20.10.2020
comment
Извиняюсь. Цитаты были изначально. Я неправильно скопировал это в вопрос. Я отредактирую это. - person A. J. Green; 20.10.2020

Предложение wOxxOm сработало. Попробуйте прослушать на этапе захвата mousedown

person A. J. Green    schedule 20.10.2020