首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows :按后退按钮时IE或Edge中缺少模糊事件

Windows :按后退按钮时IE或Edge中缺少模糊事件
EN

Stack Overflow用户
提问于 2013-06-07 02:20:50
回答 2查看 1K关注 0票数 2

以下方案与Windows Phone设备(IE或Edge)相关。

场景1:

如果输入元素有焦点,而软键盘已经打开,按下硬件回键会模糊焦点元素,然后弹出键盘。然而,没有相应的模糊事件触发。

场景2:

如果输入元素具有焦点,而软键盘已打开,则在输入元素外部敲击会模糊焦点元素,弹出键盘并触发模糊事件。

问题:

当按下硬件回键并且输入元素具有焦点时,是否有一种方法使模糊事件触发?

复制问题的HTML:

代码语言:javascript
运行
AI代码解释
复制
<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, user-scalable=no" />
        <title>Blur Test</title>
    </head>
    <body>
        <p>Blur Test</p>
        <input type="text" onblur="alert('onblur');">
    </body>
</html>

使用addEventListener会产生相同的结果。

在诺基亚Lumia 620上测试。操作系统版本: 8.0.10211.204

编辑:

在诺基亚Lumia 640上测试。操作系统版本: 8.10.15148.160 (Windows 8.1更新2- Internet Explorer 11)

在诺基亚Lumia 635上测试。操作系统版本: 10.0.10586.29 (Windows 10 Mobile - Microsoft Edge 13)

EN

回答 2

Stack Overflow用户

发布于 2013-06-07 04:06:19

因此,经过进一步的调查,我将使用‘停用’事件,而不是‘模糊’事件。

“停用”事件看起来是IE特有的,至少除了MSDN之外,我在上面找不到任何文档。

票数 3
EN

Stack Overflow用户

发布于 2013-07-31 23:35:05

是的,当您按下“硬件后退”按钮时,文本框仍然是焦点。

我们可以想办法解决这个问题。当文本框聚焦时,即使在按下“硬件回退”按钮时,也可以触发模糊。

当你点击文本框并调整窗口大小时,软键盘就打开了。因此,您必须捕获屏幕调整大小事件,这可以在每次软键盘向上或向下时进行,即当软键盘向上或向下时屏幕大小发生变化。

您必须为此编写一个JavaScript代码,并且应该在

$(文档).ready函数

代码语言:javascript
运行
AI代码解释
复制
$(window).resize(function () {
        var screenWidth = screen.width;
        var screenHeight = screen.height;
        var orientation = window.orientation;
        var switchCase = "portrait";

        if (orientation == 0 || orientation == 180) {
            switchCase = "portrait";
        } else if (orientation == 90 || orientation == -90) {
            switchCase = "landscape";
        }
        if (focusedSearchedBox) {
            if (switchCase == "portrait") {
                if ($(window).height() > (screenHeight * (2 / 5))) {
                    var searchBox = '#' + focusedSearchedBox.id;
                    $(searchBox).blur();
                   }                 
                } 
                else {
                if ($(window).height() > (screenWidth * (2 / 5))) {
                    var searchBox = '#' + focusedSearchedBox.id;
                    $(searchBox).blur();
                   }                
                }
        }

    });

每次点击文本框并在焦点事件调用上设置变量focusedSearchedBox时,将调用Focus事件。

对我起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16981817

复制
相关文章

相似问题

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