Отключенные элементы «едят» клики в некоторых браузерах - они не отвечают на них и не позволяют захватить их обработчиками событий в любом элементе или в любом из его контейнеров.
IMHO - самый простой, Самый чистый способ «исправить» это (если вам действительно нужно зафиксировать клики на отключенных элементах, таких как OP), просто добавьте следующий CSS на вашу страницу:
input[disabled] {pointer-events:none}
Это сделает любой клики на отключенном входе попадают в родительский элемент, где вы можете их захватить в обычном режиме. (Если у вас есть несколько отключенных входов, вы можете поместить их в отдельный контейнер самостоятельно, если они еще не выложены таким образом - дополнительный Недостатком является то, что этот трюк, к сожалению, не будет работать для старых браузеров, которые не поддерживают свойство CSS Если вам нужно поддерживать старые браузеры, Вам нужно будет использовать один из других ответов! или
pointer-events
. Он должен работать от IE 11, FF v3.6, Chrome v4): caniuse.com/#search=pointer-events
Когда DLL регистрируется, DllRegisterServer
, точка входа метода в Вашем DLL вызывается. Точно так же DllUnregisterServer
вызывается, когда DLL не зарегистрирован.
, Как описано в [1 110] эта статья MSDN:
Дает внутрипроцессорному серверу команду создавать свои ключи реестра для всех классов, поддерживаемых в этом модуле сервера. Если эта функция перестала работать, состояние реестра для всех его классов неопределенно.
Для COM DLL, необходимо будет реализовать собственное DllRegisterServer
и DllUnregisterServer
методы точки входа, которые делают регистрацию/нерегистрацию как соответствующую. Пример кода для DllRegisterServer
может быть найден здесь .
конечный результат регистрации DLL состоит в том, что все CLSIDs для компонентов в DLL регистрируются под HKEY_CLASSES_ROOT\CLSID
. Это позволяет CoCreateInstance
находить корректный сервер при инстанцировании COM-объектов от другого DLL или приложения.
DllUnregisterServer
сделает реверс и удалит все CLSIDs из реестра, которые были помещены там DllRegisterServer
.
более общая информация приблизительно DllRegisterServer
могут быть найдены здесь .
Что обычно упоминается, как регистрация DLL состоит в том, когда она реализует COM-объект. regsvr32 гарантирует, что экземпляр объекта может быть создан. Когда, например, VBScript использует Новый или CreateObject (), регистрация гарантирует, что COM знает, какой DLL загрузить для создания нового экземпляра, или по имени или CLSID.
См. "объяснение неспециалиста" для (очень) краткого обзора.