我遇到了有关HTML呈现的问题。
在IE7的dir =“rtl”文档中,当JavaScript尝试将焦点设置为DIV元素时(使用oElement.focus()方法),渲染变为混乱。上下文非常复杂,所以我认为最简单的解决方法是让DIV无法调整?
有没有办法让DIV无法集中注意力?
答案 0 :(得分:20)
除非您添加 tabIndex ,否则<div>
无法获得焦点。
如果您添加了tabIndex
,则应通过
document.getElementById("yourElement").removeAttribute("tabIndex");
答案 1 :(得分:18)
另外,如果您想使可聚焦元素(表单输入元素等)成为可聚焦的。您可以设置:
tabIndex = "-1"
document.getElementById("yourElement").setAttribute("tabIndex", "-1");
答案 2 :(得分:4)
我不确定你是否可以使一个元素“不可聚焦”,但你当然可以使用blur
方法在特定时间点将其取消焦点:
document.getElementById("myElement").blur();
修改强>
我认为你可以通过每次聚焦时使它散焦来使一个元素“无法聚焦”。您可以通过以下方式完成此任务:
document.getElementById("myElement").onfocus = function() {
this.blur();
};
...或(在HTML中使用内联Javascript):
<div onfocus="this.blur();"></div>
史蒂夫
答案 3 :(得分:0)
以下是使用jquery使DIV无法聚焦的一些方法。
// Set the tabindex atribute to -1.
1)$("divid").attr('tabindex','-1');
// Remove the tabindex atribute if exists.
2) $("divid").removeAttr('tabindex');
// This is third way.
3) $("divid").blur();
答案 4 :(得分:0)
通过添加CSS可以轻松解决此问题:
div_selector{
pointer-events: none;
}
或者通过jQuery添加相同的CSS:
$(div_selector).css('pointer-events', 'none');