0
有沒有辦法讓div無法獲得焦點?這是工具欄按鈕的正常行爲。讓div無法獲得焦點(如工具欄按鈕)
讓我們假定焦點放在文本輸入上。點擊div不應該使文本輸入焦點丟失。
這是一個基本的設置:
HTML:
<div id="toolbar-button">
Button
</div>
<input id="input">
我試着貼在div的mousedown
事件重新聚焦,但是它做 ES不起作用:
document.getElementById('toolbar-button').addEventListener('mousedown', function(event) {
document.getElementById('input').focus();
})
使用一個click
事件正在重新獲得點擊的焦點,但隨後鼠標按鈕僅關閉時焦點仍然丟失(並且點擊事件將會我之後發生的事情沒有被授予)。
這裏是筆:
http://codepen.io/anon/pen/oxjPva
我知道,一個可以讓要素無法通過設置tabindex = "-1"
接收焦點上標籤。但這不適用於鼠標事件。
太好了。這似乎工作。我想按鈕的樣式必須通過JavaScript來完成,因爲像':active'這樣的css事件將不起作用。 – Daniel
好吧,我可能會建議您使用按鈕來將焦點設置到文本字段而不是div,如果您想要按鈕樣式,並且使用標籤,如果點擊它會自動將焦點設置在輸入上,請參閱更新Codepen:http://codepen.io/anon/pen/GZpXqK – Emil
這是行不通的。當按鈕上的鼠標按鈕被按下時,焦點會丟失,而不會釋放它離開按鈕並被釋放到外面。 – Daniel