javascript - 我无法停止 Chrome 中的警报方法

标签 javascript google-chrome dom-events alert

我有一个输入文本和一个用于检查输入文本值的按钮。

当网页加载时,输入的文本有焦点,这个值默认为空。

因此,当您将焦点放在输入文本 (onblur) 之外时,check_input_value(event) 函数会执行 alert("Your input value must not empty") 一次,当输入文本值为空时。

这在 Firefox 中完美运行。但在 Chrome 中,此警报会无限期执行,而不是一次。

这里是代码(你可以在 https://jsfiddle.net/fcg86gyb/ 试试(用 Chrome 试试)):

<input type="text" id="input_text"> <input type="button" value="Check input value" onclick="check_input_value(event);">

<script type="text/javascript">

//Get the input text element :
input_text = document.getElementById("input_text");

//Put focus in input text :
input_text.focus();

/*Add event listener in the input text element.
On blur, if your input value is empty, then execute check_input_value(event) function
to check input text value :
*/
input_text.addEventListener('blur', 

                                    function(event) 
                                    {
                                        var event = window.event || event;
                                        check_input_value(event);
                                    }
                                    , false
                          );

//Function for checking input text value :
//if the input value is empty, display alert "Your input value must not empty", and put focus in input text.                          
function check_input_value(event)
{
    var event = window.event || event;

    if(input_text.value == "")
    {
        alert("Your input value must not empty");

        input_text.focus();

        return false;
    }   
}

</script>

那么如何在 Chrome 中执行一次警报而不是无限期地执行?

最佳答案

chrome 会无限期地执行而不是执行一次,因为您的函数总是将焦点返回到输入文本,并且您总是会更改焦点,您的函数将被调用。在 Firefox 中运行良好,因为输入文本在 javascript 函数的末尾没有获得焦点。 如果您删除 input_text.focus(); 它将起作用。

关于javascript - 我无法停止 Chrome 中的警报方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39789997/

相关文章:

javascript - MS Edge 有一个 window.chrome 对象??打破浏览器检测

google-chrome - 如何更改 Chrome 的制表符缩进宽度?

javascript - 从不同域的页面返回时,如何让 Firefox 触发 popstate 事件?

javascript - 如何?使用参数创建 Redux 选择器

javascript - 延迟 CreateJS 动画时间轴

javascript - 在页面调整大小时更改 CSS

javascript - 单击另一个输入后如何防止我的日期选择器重新聚焦

无法访问 JavaScript __proto__

javascript - 无法检测窗口是否已加载

javascript - 如何使用 Javascript 函数构造函数在每个框上添加点击警报?