【javascript】onblur调用函数失效问题记录

在处理页面上一个失焦效果时遇到了  xxxx is not a function 这样的错误,但函数确实有定义成功 ,经过测试发现是 id 值与函数名一致导致的问题,但是产生的原因没有找到详细的解释 ,如果有了解的大佬希望可以在评论中留言告知。

具体测试代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            function test(){
                alert("dsds");
            }
        </script>
    </head>
    <body>
        <form action="" method="post" onsubmit="return false">
            <input type="text" id="test" onblur="test()" />
    
        </form>
    </body>
</html>

此时触发失焦事件时会出现 test is not a function的错误

如果将 id="test" 调整 id="test_"  则此时可以正确调起函数,示例如下

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            function test(){
                alert("dsds");
            }
        </script>
    </head>
    <body>
        <form action="" method="post" onsubmit="return false">
            <input type="text" id="test_" onblur="test()" />
    
        </form>
    </body>
</html>

 

posted @ 2018-01-31 17:36  彬莫  阅读(570)  评论(0编辑  收藏  举报