首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意外"focusout“事件触发

意外"focusout“事件触发
EN

Stack Overflow用户
提问于 2012-01-26 22:34:51
回答 3查看 931关注 0票数 1

当单击div(#CanvasArea)时,我尝试显示文本框(#dimVal)。当这个文本框失去焦点时,我想让它消失。

代码语言:javascript
复制
    <head>
    <script src="jquery-1.5.1.js" type="text/javascript"></script>
    </head>

    <body>
    <div id = "CanvasArea", style = "width:50%; height:600px; border:2px; border-color:orange; border-style:solid; float:left">
    <h3>Click Me</h3>
    </div>

    <input type="text", id="dimVal", value="111", style="position:absolute; display:none; left:300px; top:300px" />

    <script type="text/javascript">
    onMouseDown = function(e){
        $("#dimVal").show();
        $("#dimVal").focus();
        $("#dimVal").focusout(onLostFocus);
    }

    onLostFocus = function(e){
        $("#dimVal").hide();
        $("#dimVal").unbind("focusout");
    }

    $("#CanvasArea").bind("mousedown", onMouseDown);
    </script>

    </body>

我想知道为什么"focusout“事件会在鼠标点击之后立即触发?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-26 23:00:17

我不能让你的代码在当前的形式下工作,所以我使用jQuery mouseup函数和最新版本的jQuery重写了它:

代码语言:javascript
复制
$(document).ready(function() { 
$("#CanvasArea").mouseup(function() {
    $("#dimVal").show();
    $("#dimVal").focus();
    $("#dimVal").focusout(onLostFocus);
});

onLostFocus = function(e){
    $("#dimVal").hide();
    $("#dimVal").unbind("focusout");
}
});

它按预期工作,在单击画布区域时显示,并在用户单击窗体时移除焦点。

票数 0
EN

Stack Overflow用户

发布于 2012-01-26 22:53:57

这是因为当您将焦点放在dimVal上时,鼠标正在CanvasArea上,因此dimVal在获得焦点后会立即失去焦点。

票数 0
EN

Stack Overflow用户

发布于 2012-01-26 22:54:28

mousedown更改为click事件,因为在click事件之前,mousedown事件会触发,然后您的代码会被执行,从而将焦点设置到textbox上,在click事件被触发之后,焦点会丢失,因此会触发focusout事件。同时使用匿名函数,而不是全局函数。尝尝这个。

代码语言:javascript
复制
$("#CanvasArea").bind("click", function(e){
    $("#dimVal").focusout(function(e){
        $(this).hide().unbind("focusout");
    }).show().focus();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9019692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档