2016-02-05 3 views
1

Я хочу удалить: состояние фокусировки из ссылок, открывающих модальное окно после закрытия модального окна. В настоящее время и то, что похоже на обычное поведение Bootstrap, заключается в том, что ссылка поддерживает фокус до тех пор, пока пользователь не нажмет на другом месте страницы. Я пробовал;Удаление состояния фокуса из ссылки после закрытия модального окна

$('.modal').on('hidden.bs.modal', function() { 

    $('a').unbind('click', '.main-body'); 

}) 

Кажется, что я не делаю то, что хочу. Я пытался бросить предупреждающее сообщение, и пока предупреждение открыто, фокус уходит, но возвращается, как только предупреждение закрывается. Любые идеи или помощь очень ценятся.

<div class="container"> 
    <div class="row"> 

    <p><a href="#" data-toggle="modal" data-target="#myModal" class="main-body">Click to Enlarge</a></p> 

    </div> 

</div> 

<!-- Modal --> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
    <div class="modal-header"> 
    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
    <h4 class="modal-title" id="myModalLabel">Modal title</h4> 
    </div> 
    <div class="modal-body"> 
    Some stuff goes here to read 
    </div> 
    <div class="modal-footer"> 
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
    <button type="button" class="btn btn-primary">Save changes</button> 
    </div> 
</div> 
</div> 
</div> 

[jsFiddle] (https://jsfiddle.net/jhottle/a5gcyfn5/10/)

+0

Это почти в любом случае с любым якорем. Вы пытались сосредоточиться в другом месте? – isherwood

+0

Вы можете вызвать '.blur()'. Не уверен, что вы * должны *, хотя, потому что доступность. –

ответ

0

Добавьте это в Javascript:

$('#myModal').on('hidden.bs.modal', function() { 
    setTimeout(function(){$('[data-target="#myModal"]').blur();}, 10); 
}); 

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

+0

Чтобы потерять ссылку, я немного изменил код, заменил бит «data-target» моей ссылкой (a.main-body) и, похоже, сделал это. Благодаря!!! что делало моего клиента сумасшедшим. – user1572121

+0

Обычно атрибут назначения данных устанавливается на ссылку, открывающую модальную (например, в вашем примере), следовательно, селектор. Но ваше решение также работает. С удовольствием помог, счастливая кодировка! – Derlin

Смежные вопросы