Это чистое решение для JavaScript без каких-либо библиотек или плагинов:
document.addEventListener('click', function (e) {
if (hasClass(e.target, 'bu')) {
// .bu clicked
// Do your thing
} else if (hasClass(e.target, 'test')) {
// .test clicked
// Do your other thing
}
}, false);
, где hasClass
-
function hasClass(elem, className) {
return elem.className.split(' ').indexOf(className) > -1;
}
Кредит относится к Dave и Sime Vidas
Использование более современных JS, hasClass
может быть реализовано как:
function hasClass(elem, className) {
return elem.classList.contains(className);
}
Проблема заключается в создании "image"
вместо "img"
. image
тег создаст : устаревший элемент Image не является <img>
Согласно MDN
Создание элемент без атрибута
blockquote>src
приводит к объектуHTMLElement
с локальным именем элемента"image"
HTMLElement
не имеет какого-либо свойстваsrc
, поэтомуsrc
как атрибут не установленоНеверно
let image = document.createElement('image') image.src ="something" console.log(image.outerHTML)
Когда вы создаете
document.createElement('image')
, это не создаст ImageElement [ 1127]Исправить
let image = document.createElement('img') image.src ="something" console.log(image.outerHTML)