ввод: фокус не работает на Firefox
Вопрос
У меня есть следующий стиль, который я проверял, загружается:
input:focus { outline: none; }
:focus { outline: none; }
Я сделал это, чтобы перестать показывать пунктирный прямоугольник, когда я что-то нажимаю. Это работает для всего, что я заметил в FireFox, кроме кнопок ввода. Мои кнопки ввода все еще показывают пунктирный прямоугольник вокруг них, когда я нажимаю их.
Как я могу заставить их прекратить это делать?
Решение
Мне нужно было сделать это ( источник ):
/*for FireFox*/
input[type="submit"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
button::-moz-focus-inner { border : 0px; }
/*for IE8 */
input[type="submit"]:focus,
input[type="button"]:focus { outline : none; }
У меня уже было " схема: 0 " установить все через сброс, но этот -moz-focus-inner был необходим, чтобы избавиться от пунктирной линии на кнопке в стиле CSS.
Другие советы
<input ... onfocus="this.blur();"/>
сделает свое дело
или jQuery:
$("input").focus(function(){this.blur();});
Это работает для меня (пробовал как в Firefox 2, так и в 3)
<html>
<head>
<title>Test</title>
<style>
:focus { -moz-outline-style: none;}
</style>
</head>
<body>
<form action="#">
<input type="image" src="button.png" />
</form>
</body>
</html>
Просто добавьте button.png: -)