JavaScript教程:事件对象-获取源控件(获取控件的值)

说明

通过 事件对象,可以获取 源控件

兼容性 问题

IE下,event 对象有 srcElement 属性,通过该属性可以获取 源控件

Firefox下, event 对象有 target 属性,通过该属性可以获取 源控件

但这 2个属性的作用是相同的,但是,如何写代码,可以在 不同的浏览器上运行呢?

提示:Edge浏览器,srcElement 、 target 属性 都有

解决方法

使用

var srcElement = event.srcElement ? event.srcElement : event.target;

案例

电话号码控件,失去焦点时,做校验,第一位是 1,有 11 个字符就认为符合要求,否则给出提示
(此判断不够严谨,仅做案例)

电话号:<input type="text" id="phone">
<script>
    window.onload = function(){
        var phone = document.getElementById("phone")
        phone.onblur = function(event){
            event = event || windows.event
            // 获取事件的控件
            var srcElement = event.srcElement ? event.srcElement : event.target;
            // 获取控件的值
            var value = srcElement.value
            console.log(value)
            // 如果电话号不是11位,或者第一位不是1,就给出提示
            if(value.length !=11 || value.substring(0,1) != "1"){
                alert("请输入正确的手机号!")
                return
            }
        }
    }
</script>

原文出处:/show_1IX33PVajkTZ.html