Возможно, пришло время начать пересмотр этого ответа? Лично я проголосовал бы за setActive()
и unsetActive()
(альтернативы могут быть setUnActive()
, notActive()
, disable()
и т. Д. В зависимости от контекста), поскольку «setActive» подразумевает, что вы активируете его в любое время, т. Это своего рода счетчик, интуитивно понятный, чтобы сказать «setActive», но фактически удалить активное состояние.
Другая проблема заключается в том, что вы не можете прослушивать специфическое событие SetActive в режиме CQRS, вам нужно будет прослушать 'setActiveEvent' и определить внутри этого прослушивателя, на самом деле он активен или нет. Или, конечно, определите, какое событие вызывать при вызове setActive()
, но затем идет против принципа «Разделение проблем».
Хорошо читайте об этом в статье FlagArgument Мартина Фаулера: http: / /martinfowler.com/bliki/FlagArgument.html
Однако я исхожу из фона PHP и вижу, что эта тенденция все больше принимается. Не уверен, насколько это связано с развитием Java.
Это так странно, но я нашел обходной путь в том, что установка кнопки поиска более чем на 20%. Затем она будет хорошо работать в IE, как и в Chrome. Я предполагаю, что, возможно, поведение IE при отображении страницы немного отличается от chrome.
#search-button {
display: inline-block;
width: 20%;
}