jQuery UI - Почему пунктирная линия вокруг якоря не должна быть активной? - PullRequest
7 голосов
/ 05 февраля 2010

Я использую модальное диалоговое окно из пользовательского интерфейса jQuery, и когда я открываю диалоговое окно, первый или один из первых нескольких якорей имеет пунктирную линию, и я ничего не нажимаю. Как только я нажимаю в любом месте экрана, он исчезает. Таким образом, кажется, что диалоговое окно активирует якорь, но то, как он это делает, мне не подходит.

Ответы [ 2 ]

5 голосов
/ 01 декабря 2010

Я не совсем уверен, почему это происходит именно так, однако, если вы хотите изменить поведение этого, вы можете добавить его к CSS, и контур должен исчезнуть.

div.ui-dialog a { outline: none }
0 голосов
/ 05 февраля 2010

Я почти уверен, что эта пунктирная линия просто представляет фокус. Может случиться так, что jquery-ui на самом деле устанавливает фокус на первую гиперссылку, но (без пролистывания исходного кода jquery-ui) я думаю, что столь же правдоподобно, что ваш браузер делает это самостоятельно.

Если это браузер, я подозреваю, что это потому, что div диалогового окна получает фокус, и единственный способ справиться с этим - поместить фокус на первую интерактивную вещь в этом div: якорь.

Что произойдет, если в диалоговом окне нет якорей? Что произойдет, если перед якорями будет введен текст?

Если это то, что делает браузер, сделайте себе одолжение и перестаньте беспокоиться об этом. Вы можете потерять много времени и внедрить много специфичного для браузера, сложного в обслуживании кода, пытаясь заставить его вести себя по-другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...