Лучшее, что вы можете сделать до того, как C # 6 с выпуском 'nameof' будет использовать медленные выражения StackTrace и linq.
Например. для такого метода
public void MyMethod(int age, string name)
{
log.DebugTrace(() => age, () => name);
//do your stuff
}
Такая строка может быть создана в вашем файле журнала
Method 'MyMethod' parameters age: 20 name: Mike
Вот реализация:
//TODO: replace with 'nameof' in C# 6
public static void DebugTrace(this ILog log, params Expression<Func<object>>[] args)
{
#if DEBUG
var method = (new StackTrace()).GetFrame(1).GetMethod();
var parameters = new List<string>();
foreach(var arg in args)
{
MemberExpression memberExpression = null;
if (arg.Body is MemberExpression)
memberExpression = (MemberExpression)arg.Body;
if (arg.Body is UnaryExpression && ((UnaryExpression)arg.Body).Operand is MemberExpression)
memberExpression = (MemberExpression)((UnaryExpression)arg.Body).Operand;
parameters.Add(memberExpression == null ? "NA" : memberExpression.Member.Name + ": " + arg.Compile().DynamicInvoke().ToString());
}
log.Debug(string.Format("Method '{0}' parameters {1}", method.Name, string.Join(" ", parameters)));
#endif
}
button::-moz-focus-inner {
border: 0;
}
Нет никакого способа удалить, они отметили точкой фокус в Firefox с помощью CSS.
, Если у Вас есть доступ к компьютерам, где Ваш webapplication работает, перейдите к about:config в Firefox и установите browser.display.focus_ring_width
на 0. Тогда Firefox не покажет пунктирных границ вообще.
следующая ошибка объясняет тему: https://bugzilla.mozilla.org/show_bug.cgi? id=74225
Это похоже на единственный способ достигнуть, это установкой
browser.display.focus_ring_width = 0
в about:config на на основание браузера.
Возможно, вы захотите усилить фокус, а не избавиться от него.
button::-moz-focus-inner {border: 2px solid transparent;}
button:focus::-moz-focus-inner {border-color: blue}
Я думаю, вам действительно следует знать, что вы делаете, удалив контур фокуса, потому что это может испортить его для навигации и доступности с клавиатуры.
Если вам нужно убрать его из-за проблем с дизайном, добавьте состояние : focus
к кнопке, которое заменяет это другим визуальным сигналом например, изменить границу на более яркий цвет или что-то в этом роде.
Иногда я чувствую необходимость убрать этот раздражающий контур, но я всегда готовлю альтернативный визуальный сигнал.
И никогда ] используйте функцию blur ()
js. Используйте псевдокласс :: - moz-focus-inner
.
Иногда мне хочется убрать этот раздражающий контур, но я всегда готовлю альтернативный визуальный ориентир.
И никогда никогда не используйте функцию blur ()
js. Используйте псевдокласс :: - moz-focus-inner
.
Иногда мне хочется убрать этот раздражающий контур, но я всегда готовлю альтернативный визуальный ориентир.
И никогда никогда не используйте функцию blur ()
js. Используйте псевдокласс :: - moz-focus-inner
.
Если вы предпочитаете использовать CSS, чтобы избавиться от пунктирного контура:
/*for FireFox*/
input[type="submit"]::-moz-focus-inner, input[type="button"]::-moz-focus-inner
{
border : 0;
}
/*for IE8 and below */
input[type="submit"]:focus, input[type="button"]:focus
{
outline : none;
}
button::-moz-focus-inner { border: 0; }
Где кнопка
может быть любым селектором CSS, для которого вы хотите отключить поведение.
Можно попробовать кнопку ::-moz-focus-inner {border: 0px solid transparent;}
в вашем CSS.