Это чистое решение для 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);
}
Хорошо, давайте шаг за шагом.
По первому вопросу. В большинстве случаев вам не следует этого делать, вместо этого вы должны рассматривать sublime_text
как пакет. Структура должна выглядеть следующим образом:
├───sublime_text
| __init__.py
│ sublime.py
│ sublime_plugin.py
И вы должны использовать ее как from sublime_text import sublime
в других ваших пакетах. Это может быть лучше, поскольку вы не будете слишком сильно загрязнять глобальное пространство имен. Или, если это не обычный пакет, которым вы хотите поделиться между многими другими пакетами, вы можете напрямую включить его как подмодуль в свой основной пакет.
Или, если вы действительно хотите это сделать, вы можете поместить эти два файла в корневой каталог и использовать:
...
packages = find_packages(),
py_modules=["sublime", "sublime_plugin"],
...
Для второго вопроса. Поскольку это пакет, вы можете добавить этот путь к пакетам: packages=[""]
. Или для удобства вы можете использовать packages=find_packages()
. Это поможет вам найти все пакеты в текущем каталоге, который является ""
.
Третий вопрос. В основном это не правильно, вам просто нужно представить то, что нужно пользователю в PyPi. Для docs
вы должны использовать сайт readthedocs . А для других примеров и тестов просто оставьте их на своем Github. Этого достаточно.