Javascript 在IE10中,我需要双击字段以强制它在jquery对话框中获得焦点

Javascript 在IE10中,我需要双击字段以强制它在jquery对话框中获得焦点,javascript,Javascript,在IE10中,只有双击元素后,onkeyup才会对元素起作用(元素才处于焦点) 在FF和Chrome中工作 出了什么问题,我该如何解决 <script> // this works document.getElementById('ContractNumber').onmousedown = function () { validateContractNumber(this); }; // this not fired until

在IE10中,只有双击元素后,onkeyup才会对元素起作用(元素才处于焦点)

在FF和Chrome中工作

出了什么问题,我该如何解决

  <script>
   // this works
    document.getElementById('ContractNumber').onmousedown = function () {
        validateContractNumber(this);
    };

    // this not fired until i do double click
    document.getElementById('ContractNumber').onkeyup = function () {
        validateContractNumber(this);
    };
</script>

<style>
input[type=text]
{
   ....
   /*focus also doesn't work until double click this field*/
    &:focus
    {
        border: @Text-Focus;
        background-color: @Text-Focus-Back;
    }
}

</style>


<!--jquery dialog-->
<div id="dlgEditClient" style="display: none;">
    <div class="td editor-field left" title="Edit contract number for client">
        <input type="text" value="" name="ContractNumber" id="ContractNumber">
    </div>
    .............
</div>

//这很有效
document.getElementById('ContractNumber')。onmousedown=函数(){
验证合同编号(本);
};
//在我双击之前,不会触发此命令
document.getElementById('ContractNumber')。onkeyup=函数(){
验证合同编号(本);
};
输入[类型=文本]
{
....
/*在双击此字段之前,焦点也不起作用*/
&:焦点
{
边框:@文本焦点;
背景色:@文本焦点返回;
}
}
.............

事实上,我有一个巧妙的方法来解决这个问题。但请注意,这不是一个直接的解决方案

所以,在这种情况下,如果你需要双击,我更倾向于按语法引导点击。在您的情况下,我将尝试查看浏览器是否为IE:

<%String browser = request.getHeader("User-Agent"); %>
function callDuringLoad()
{
<% if (browser.indexOf("MSIE") > 0) {
%>
document.getElementById('ContractNumber').fireEvent("onclick");
<%}
}

window.onload=callDuringLoad;

希望这有帮助

谢谢你的回答。在我的例子中,问题是在使用插件qtip2时,当我删除它时,一切都按预期工作

你的问题是什么?
if (navigator.appVersion.indexOf("MSIE 10") != -1){
    //you stuff here
}