是否有可能集中在一个<div>使用JavaScript的焦点()函数?

我有一个<div>标签

<div id="tries">You have 3 tries left</div>

我试图集中在上面的<div>使用:

document.getElementById('tries').focus();

但这并不奏效。谁能给点建议....?


当前回答

我想建议一些类似Michael Shimmin的东西,但没有硬编码元素,或应用于它的CSS。

我只使用jQuery添加/删除类,如果你不想使用jQuery,你只需要一个替换添加/删除类

——Javascript

function highlight(el, durationMs) { 
  el = $(el);
  el.addClass('highlighted');
  setTimeout(function() {
    el.removeClass('highlighted')
  }, durationMs || 1000);
}

highlight(document.getElementById('tries'));

CSS——

#tries {
    border: 1px solid gray;
}

#tries.highlighted {
    border: 3px solid red;
}

其他回答

我想建议一些类似Michael Shimmin的东西,但没有硬编码元素,或应用于它的CSS。

我只使用jQuery添加/删除类,如果你不想使用jQuery,你只需要一个替换添加/删除类

——Javascript

function highlight(el, durationMs) { 
  el = $(el);
  el.addClass('highlighted');
  setTimeout(function() {
    el.removeClass('highlighted')
  }, durationMs || 1000);
}

highlight(document.getElementById('tries'));

CSS——

#tries {
    border: 1px solid gray;
}

#tries.highlighted {
    border: 3px solid red;
}

. getelementbyid(试).scrollIntoView()的工作原理。当你有固定的定位时,这比window.location.hash更好。

. getelementbyid(“测试”)。Onclick = function () { . getelementbyid(“照本宣科”).focus (); }; div:专注{ background - color:水; } <div>元素X(不可对焦)</div> <div tabindex="0">元素Y(用户或脚本可聚焦)</div> <div tabindex="-1" id="scripted">Element Z(仅脚本可聚焦)</div> <div id="test">设置焦点到元素Z</div>

<div id="inner" tabindex="0">
    this div can now have focus and receive keyboard events
</div>

要让边界闪光,你可以这样做:

function focusTries() {
    document.getElementById('tries').style.border = 'solid 1px #ff0000;'
    setTimeout ( clearBorder(), 1000 );
}

function clearBorder() {
    document.getElementById('tries').style.border = '';
}

这将使边界坚实的红色1秒,然后再删除它。