Rio*_*Rio 3 jquery applet internet-explorer focus
我试图在输入区域实现光标焦点,IE给了我很多麻烦.我已经尝试了一些事情(也改变了超时,大数):
setTimeout(function() { document.getElementById('myInput').focus(); }, 10);
Run Code Online (Sandbox Code Playgroud)
它不会起作用.我注意到我在页面上也有一个小程序,当我删除小程序时,上面的工作.此外,如果我在focus()触发器之前发出警报,它将起作用.
applet没有特别做任何事情(它实际上检索用户的MAC地址),并且它最后一次调用外部JS函数将MAC地址发送到DOM.我已经尝试将焦点(超时和所有)放在JS函数的末尾,但这也不起作用.
可能有什么不对?事情在Firefox中运行良好,而不是在IE中.
目前的设置:
//This is called from within the applet using a window.call
function everythingDone()
{
$("#someinput").focus();
//setTimeout(function() { document.getElementById('someInput').focus(); }, 1000);
};
$(function()
{
var applet = "<object classid='clsid:CAFEEFAC-0014-0002-0000-ABCDEFFEDCBA' width='0' height='0'><param name='code' value='someapplet.class' /><param name='archive' value='/someapplet.jar' /></object>";
$("#appletarea").html(applet);
//setTimeout(function() { document.getElementById('someInput').focus(); }, 1000);
});
Run Code Online (Sandbox Code Playgroud)
我认为更简单的解决方法是使用applet/object/embed标记的initial_focus参数.
<applet ...>
<param name="initial_focus" value="false"/>
</applet>
Run Code Online (Sandbox Code Playgroud)