jQuery.focus在I.E 11中不起作用

时间:2015-10-26 05:00:21

标签: javascript jquery internet-explorer focus

我想从focus

获取anchor tag URL

锚标记

<a id='714895'>&nbsp;</a>

网址

http://test.com/sites/alzheimers-disease-early-detection.aspx?ShowAllComments=True#714895

jQuery代码

 try
{
if(document.URL.indexOf("?ShowAllComments=True#") >= 0){
var elementClicked = "#" +location.href.split('#')[1];
$("elementClicked").focus();
}
catch(e)
{alert(e.message);}

也试过

 try
{
if(document.URL.indexOf("?ShowAllComments=True#") >= 0){
var elementClicked = "#" +location.href.split('#')[1];
$("elementClicked").focus().focus();
}
catch(e)
{alert(e.message);}

 try
{
if(document.URL.indexOf("?ShowAllComments=True#") >= 0){
setTimeout(function(){
var elementClicked = "#" +location.href.split('#')[1];
$("elementClicked").focus();},100);
}
}
catch(e)
{alert(e.message);}

代码在FirefoxChrome上完美运行,但在I.E中不起作用。 任何其他方式或修改都应该在I.E中进行。

1 个答案:

答案 0 :(得分:0)

尝试:

window.setTimeout(function(){ 
var elementClicked = "#"+location.href.split('#')[1]; 
$('#elementClicked').focus(); }, 100);

IE 11时间聚焦其他控件,然后窃取焦点并将其添加到elementClicked。

否则试试这个。

try { 
function elementFocus(e){
if(document.URL.indexOf("?ShowAllComments=True#") >= 0){ 
var elementClicked = "#" +location.href.split('#')[1];
$("elementClicked").focus(); 
e.preventDefault(); 
} 
} 
catch(e){alert(e.message);}